呼び出しは次のようになります
$.ajax({
url: url,
crossDomain: true,
dataType: 'jsonp',
success: function(){console.log('success');}
})
サーバーコードから、それはそのようなものです
string data = callback + "(" jsonData + ")";
send("application/javascript",data);
jsonData は有効であり、私はそれを確信しています。オンラインの多くのjsonバリデーターでテストしました。サーバーコードで content-type を application/javascript から application/json に切り替えてみましたが、違いはありません。
これを機能させる唯一の方法は、jquery に送信されたコールバック関数をオーバーライドし、jquery 成功関数を呼び出す代わりに、独自のグローバル関数を呼び出すようにすることです。そして、これがその回避策のコードです
$.ajax({
url: url,
crossDomain: true,
dataType: "jsonp",
jsonpCallback: "onMyDataReceived"
})
function onMyDataReceived(jsonData){ doStuff(jsonData ); }
しかし、これは $.ajax.sucess 関数から自然に流れさせるのではなく、ハックのように感じます。最初のコード スニペットがエラーになる理由について何か助けはありますか?