1. ホーム
  2. jquery

[解決済み] jQueryがAJAXクエリからのJSONをパースしない

2023-04-25 10:08:46

質問

jQuery.ajax()を使用してサーバーから返されたJSONデータを解析するのに苦労しています。

私が使用しているAJAXを実行するために。

$.ajax({
  url: myUrl,
  cache: false,
  dataType: "json",
  success: function(data){
    ...
  },
  error: function(e, xhr){
    ...
  }
});  

そして、もし私が項目の配列を返すなら、それは問題なく動作します。

[ { title: "One", key: "1" }, { title: "Two", key: "2" } ]

success関数が呼び出され、正しいオブジェクトを受け取ります。

しかし、1つのオブジェクトを返そうとすると

{ title: "One", key: "1" } 

エラー関数が呼び出され、xhrに「parsererror」が含まれています。 サーバー上でJSONを括弧で括ってから送信してみましたが、違いはありません。 しかし、Javascript でコンテンツを文字列に貼り付けてから eval() 関数を使用すると、完全に評価されます。

何が間違っているのか、何か思い当たることはありますか?

アンソニー

どのように解決するのですか?

サーバーがデータを送信する際、Content-Typeが "*/json" ? そうでない場合は、レスポンスヘッダを適宜修正してください。送信する "application/json" を送るなどすればよいでしょう。