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

发布于 2024-09-10 13:20:20 字数 679 浏览 9 评论 0原文

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

但是,当我尝试使用 $.getJSON 调用该 URL,回调显示 data 变量和 “success” null > 用于 textStatus 变量。

我想这可能是跨域的事情,但我很惊讶 textStatus“成功” 如果是这样的话。

如果它有帮助,这里是服务器端 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");

有什么想法吗?

I've set up NodeJS and it's returning data when I browse to the URL: http://184.106.206.235

However, when I try to call that URL using $.getJSON, the callback shows null for the data variable and "success" for the textStatus variable.

I imagine this could be a cross-domain thing, but I'm surprised that the textStatus says "success" if that's the case.

In case it's helpful, here's the server-side 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");

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

白鸥掠海 2024-09-17 13:20:20

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

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

Add the "Access-Control-Allow-Origin": "*" property to your writeHead() call:

res.writeHead(200, {
  "Content-Type": "application/json",
  "Access-Control-Allow-Origin": "*"
});
七七 2024-09-17 13:20:20

对于遇到同样问题的任何人来说,请注意,上面的解决方案对我来说只做了一个小改动:

“Content-Type”:“application/json”

而不是“text/json”。

感谢您的解决方案!这让我发疯。

Just a note for anyone having the same problem, the solution above worked for me with one minor alteration:

"Content-Type": "application/json"

Not "text/json".

Thanks for the solution! It was driving me crazy.

不离久伴 2024-09-17 13:20:20

如果您使用 express 框架,您可以尝试以下方法之一:< br>
1. res.contentType('json'); 设置为内容类型。
2. res.send({ some: 'json' }); 它将设置内容类型并为您解析它。
3. res.json({ user: 'tj' }); 可能是最好的方法。

希望有帮助:)

if you are using express framework you can try one of the following:
1. res.contentType('json'); to set to content type.
2. res.send({ some: 'json' }); that will set the content type and parse it for you.
3. res.json({ user: 'tj' }); probably the best way to do it.

hope it helps :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文