Jquery クロス ドメインの問題を解決しようとしています。
次のコードを使用すると、IEで「このページは制御下にない情報にアクセスしています..」
$.ajax({
type: "Post",
url: "http://Webbie/WS.asmx/TrackLink",
data: params,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
cache: true,
success: function (msg) {
alert('success');
},
error: function (request, status, error) {
alert('error')
}
});
IE メッセージが表示され、承認すると「成功」というアラートが表示されます。
次のコードでjsonをjsonpに置き換えようとしました(データ型を「json」から「jsonp」に変更しただけです)
$.ajax({
type: "Post",
url: "http://Webbie/WS.asmx/TrackLink",
data: params,
contentType: "application/json; charset=utf-8",
dataType: "jsonp", // just added the p
async: true,
cache: true,
success: function (msg) {
alert('success');
},
error: function (request, status, error) {
alert('error')
}
});
上記の jsonp コードを使用すると、エラー 500 が発生します。
エラー 500 が表示されるのはなぜですか? クロスドメインの問題に対する最良の代替手段は何ですか?