NodeJS不会将数据返回给jQuery.getJSON

我设置了NodeJS,当浏览到URL: http ://184.106.206.235时,它会返回数据

但是,当我尝试使用$.getJSON调用该URL时,callback对于datavariables显示为null ,对于textStatusvariables显示为"success"

我想这可能是一个跨领域的东西,但我很惊讶textStatus"success"如果是这样的话。

如果有帮助,这里是服务器端JS:

 http.createServer(function(req, res){ var output = {message: "Hello World!"}; var body = JSON.stringify(output); res.writeHead(200, {'Content-Type': 'application/json', 'Content-Length': body.length}); res.end(body); }).listen(80, "184.106.206.235"); 

有任何想法吗?

       

网上收集的解决方案 "NodeJS不会将数据返回给jQuery.getJSON"

将“Access-Control-Allow-Origin”:“*”属性添加到writeHead()调用中:

 res.writeHead(200, { "Content-Type": "application/json", "Access-Control-Allow-Origin": "*" }); 

对于有同样问题的人来说,上面的解决scheme只是对我进行了一些小改动:

“Content-Type”:“application / json”

不是“text / json”。

感谢您的解决scheme! 这让我疯狂。

如果您使用快速框架,则可以尝试以下方法之一:
1. res.contentType('json'); 设置为内容types。
2. res.send({ some: 'json' }); 这将设置内容types并为您parsing。
3. res.json({ user: 'tj' }); 可能是最好的办法。

希望能帮助到你 :)