我在客户端使用 html,而我的服务器端代码在 node.js 上。我在 nodejs 应用程序中定义了一些 url,我从我的客户端 html 文件中调用它们。我正在从节点调用位于另一台服务器上的 REST 应用程序。这个 rest 应用程序是用 Jersey java web 服务编写的。我可以从我的 html 和节点代码调用 node.js,我从 Jersey Web 服务模块得到响应。收到此响应后,我将其设置为 node.js 的响应对象,但此响应在 html jquery ajax 调用上不可用。
$.ajax({
type :"POST",
dataType: 'json',
data: jsontest,
url: 'http://<code>localhost</code>:9999/hello',
success: function(data) {
console.log('success');
console.log(data);
console.log(data.id);
}, error : function(response) {
console.log(JSON.stringify(response));
}
});
服务器端代码:
var tmp = req;
var authentication = JSON.stringify(tmp.body.authenticationKey);
console.log("authentication :- "+authentication);
requestObj({
url : "http://<code>restserver</code>:port/restmodule/controller/hello",
method : "POST",
headers : { "Content-Type" : "application/json","pubKey":authentication},
body : JSON.stringify(tmp.body)
},
function (error, res, body) {
indexresponseBody = JSON.stringify(JSON.parse(body).message);
}
);
res.writeHead(200, {'content-type':'text/html'});
console.log("JSON returned from REST "+indexresponseBody);
res.write(indexresponseBody);
res.end();
我能够获得 json,这打印在节点服务器控制台上。但是当我将这个 json 写入 firebug 控制台上的 response(res) 对象时,我看不到这个 json。谁能告诉我怎么才能得到这个回复。