私は一日中この問題に取り組んできましたが、ただ困惑しています。
JSON シリアル化された応答を返す .NET Web サービスがあり、シリアル化するデータにアクセスできる新しいものに切り替えようとしています。どちらのサービスも、リクエストを処理するロジックに関しては同じように見えます。どちらも ContentType を application/json に設定し、ストリームに書き込みます。
私は jQuery 1.7.1 を使用しています。クライアント側では、getJSON を URL とともに作業エンドポイントに送信します。Firebug は、返された結果がデータでいっぱいであることを示し、JSONLint などで検証されます。onError イベントをキャッチするために .ajaxSetup() を設定すると、次のようになります。
textStatus: parsererror
Error Thrown: Error: jQuery17109478366139694514_1337880510219 was not called
jqXHR Response Text: undefined
(私はメッセージをフォーマットしました)
私が見ている JSON は、次のようなものです。
[
{
"sourceType": "KML",
"dataUrl": "http://firefly.geog.umd.edu/kml/download.php?file=kml_global_modis-hotspots.kml",
"id": "https://example.com/KmlFeeds::KMLFeeds::FIRMS::World",
"title": "FIRMS - World",
"description": "MODIS hotspot / fire and burned area",
"originator": "NASA LANCE",
"spatialDomain": null
},
{
"sourceType": "KML",
"dataUrl": "http://firefly.geog.umd.edu/kml/download.php?file=Alaska_24h.kml",
"id": "https://example.com/KmlFeeds::KMLFeeds::FIRMS::Alaska",
"title": "FIRMS - Alaska",
"description": "MODIS hotspot / fire and burned area",
"originator": "NASA LANCE",
"spatialDomain": null
},
...
]
(spatialDomain にはバウンディング ボックス座標が含まれる場合があり、文字列内のコンマ区切りの小数のみ)
私の古い Web サービスは、ラベルが異なるいくつかのキーで同じものを返します。新しいサービスを使用すると、このすべてのデータをサイトに投稿するコールバックに到達しません。それは間違いなく私に戻ってきて、私がそれを見ても有効に見えます。
新しいサービスには何か問題があると思いたいのですが、リクエスト URL を古い URL に戻すだけで、クライアントは問題なく動作します。ただし、応答は有効な JSON として返されるため、成功のコールバックに入るだけで問題が発生する方法を理解できません。考え?