私はHTML5、jQueryモバイルアプリケーションを開発しています。私はデータを取得するためにサードパーティのJSON Webサービスを使用する必要があります。しかし、私は私のjquery関数でparseerrorを持っています。 WebサービスがJSONを送信するという問題があるようです。 JSONPはクロスドメインなので、JSONPを使用する必要があります。とにかくこれを行うには、jQueryまたはjavascriptを使用しますか?ここに私が使用しているコードがあります。jQueryを使用したJSON Webサービスの操作
$.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=のように設定するとどうなりますか?私のコードは正常に動作しますが、問題はありません。サードパーティのWebサービスも、すべてのiphoneアプリがうまく動作するので正解です。 JSONは[{
で始まり、JSONPはsomefunction({
で始まります。
JSONが有効です。私はいくつかのオンラインツールでそれをチェックし、問題なしでそのWebサービスと連携しているいくつかのiphoneアプリもあります。 JSONPの代わりにJSONを送信するので、jqueryで解析できないようです。私の考えが間違っているなら、私を修正してください。これにはどのような解決策がありますか?
ありがとうございます。しかし、応答はJSONPにはないので動作しませんでした。私はそれが第三者であるのでコールバックを指定しなければならない。 –
あなたが正確にコールバックするなら、それはjsonpにあります。または私は何かが欠けている。 –
はい。問題は、JSONPではなくJSONのみを提供するWebサービスです。ありがとう。 –