gpt4 book ai didi

node.js - 如何在node.js响应对象中设置JSON数据?

转载 作者:太空宇宙 更新时间:2023-11-04 02:39:07 25 4
gpt4 key购买 nike

我在客户端使用 html,我的服务器端代码位于 node.js 上。我在 Node.js 应用程序中定义了一些 url,并且从客户端 html 文件中调用它们。我从 Node 调用位于另一台服务器上的 REST 应用程序。该其余应用程序是用 Jersey java Web 服务编写的。我可以从我的 html 和 Node 代码调用 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,并将其打印在 Node 服务器控制台上。但是当我将此 json 写入 firebug 控制台上的响应(res)对象时,我看不到此 json。谁能告诉我如何才能得到这个回复。

最佳答案

可能是因为回调的异步性质,请尝试此 -

function (error, resp, 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();
}

关于node.js - 如何在node.js响应对象中设置JSON数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18610507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com