HTML5、jQuery モバイル アプリケーションを開発しています。データを取得するには、サードパーティの JSON Web サービスを使用する必要があります。ただし、jquery 関数で parseerror が発生しています。問題は、Web サービスが JSON を送信することです。クロスドメインであるため、JSONP を使用する必要があります。とにかくjQueryまたはjavascriptを使用してこれを行うことはありますか? これが私が使用しているコードです。
$.ajax({
url : jsonServiceURL + "scheduleService/retrieveMySchedules.json?callback=?",
dataType : "json",
beforeSend: function(x) {
if(x && x.overrideMimeType) {
x.overrideMimeType("application/json;charset=UTF-8");
}
},
timeout : 5000
}).success(function() {
alert('pass');
}).error(function(httpObj, textStatus) {
alert(textStatus);
});
リクエストは行きます。返事も来る。しかし、それはparseerrorと言っています。これはJSONとJSONPで何か違いがあると思います。URL をhttp://www.geonames.org/postalCodeLookupJSON?postalcode=10504&country=US&callback=のようなものに設定すると? 私のコードは問題なく動作します。すべてのiPhoneアプリが正常に動作するため、サードパーティのWebサービスも正しい. 私が見る唯一の違いは、JSON の先頭[{
と JSONP の先頭somefunction({
です。
JSON は有効です。いくつかのオンライン ツールで確認したところ、その Web サービスで問題なく動作する iPhone アプリがいくつかあります。JSONPの代わりにJSONを送信するため、jqueryで解析できないようです。私の考えが間違っている場合は修正してください。これに対する可能な解決策は何ですか?