NodeJS不会将数据返回给jQuery.getJSON
我设置了NodeJS,当浏览到URL: http ://184.106.206.235时,它会返回数据
但是,当我尝试使用$.getJSON
调用该URL时,callback对于data
variables显示为null
,对于textStatus
variables显示为"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");
有任何想法吗?
将“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' });
可能是最好的办法。
希望能帮助到你 :)