12

NodeJSを設定しましたが、次のURLを参照するとデータが返されます:http://184.106.206.235

ただし、を使用してそのURLを呼び出そうとすると、変数と変数$.getJSONのコールバックが表示されます。nulldata"success"textStatus

これはクロスドメインの可能性があると思いますが、そうだと言っていることに驚いてい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");

何か案は?

4

3 に答える 3

16

「Access-Control-Allow-Origin」:「*」プロパティをwriteHead()呼び出しに追加します。

res.writeHead(200, {
  "Content-Type": "application/json",
  "Access-Control-Allow-Origin": "*"
});
于 2010-08-30T17:06:31.693 に答える
3

同じ問題を抱えている人へのメモですが、上記の解決策は1つの小さな変更でうまくいきました:

"Content-Type": "application / json"

「text/json」ではありません。

解決してくれてありがとう!それは私を夢中にさせていました。

于 2010-07-28T16:48:14.283 に答える
2

Express Frameworkを使用している場合は、次のいずれかを試すことができ
ます。1 res.contentType('json');.コンテンツタイプに設定します。
2.res.send({ some: 'json' });コンテンツタイプを設定し、解析します。
3.res.json({ user: 'tj' });おそらくそれを行うための最良の方法。

それが役に立てば幸い :)

于 2012-03-18T22:34:17.627 に答える