$.ajax
jqueryまたはを使用して別のサーバーからファイルを取得しようとしています$.getJSON
が、壁にぶつかっていてaccess-control-allow-origin
、jsonp オプションが機能していないようです。
このサイトは jQuery 1.5.1 を使用しています。
ここに私の3つのテストがあります:
基本的な $.ajax を使用すると、要求された URL は?callback=?
追加されません。
$.ajax({
url: url,
datatype: 'jsonp',
error: function(){console.log('error');},
success: function(){console.log('success');}
});
ハッキングの試みで基本的な $.ajax を使用すると、クロスサイトの問題が発生します。
$.ajax({
url: url + '.jsonp?callback=?',
datatype: 'jsonp',
error: function(){console.log('error');},
success: function(){console.log('success');}
});
$.getJSON を使用すると、クロスサイトの問題は回避されますが、エラー ケースは発生しません。
$.getJSON(url + '?callback=?',
function(data){
console.log('success');
})
.error(function(){
console.log('error');
})
.success(function(){
console.log('success!');
});
誰かが私が間違っていることを見ていますか? 最後に、URL が存在するかどうかをテストし、存在しない場合はエラーで何かをしようとしています。
編集: アクセスしようとしている URL は存在しません。エラーケースがトリガーされることを期待しています。