ここで何が起こっているのか完全にはわかりません。次の AJAX 呼び出しを行っています。Safari では失敗し、ステータス コード -1001 が返されます。ただし、データが返されないにもかかわらず、Safari は呼び出しが成功したと考えているようです。
URL を別のウィンドウで開くと、正しいデータが返されます。Google でこのステータス コードに関する情報を見つけることができないようですが、ある投稿では、Safari に呼び出しが返るのに時間がかかるという問題があることが示唆されています。
$.ajax({
url : sponsor.url,
async : false,
dataType : 'json',
success : function(result) {
if (result.length > 0) {
var offer;
for ( var i = 0; i < result.length; i++) {
offer = result[i];
sponsor.offers[offer.id] = {
'id' : offer.id,
'displayType' : offer.offerDisplay.displayType,
'status' : 'accept'
}
console.log(offer);
}
}
}
});
これが async:false と関係があるのではないかと思っています。ローカルの tomcat インスタンス内でこれを実行しているため、呼び出しが戻るまでにかなりの時間がかかります。呼び出しがローカル マシンに戻るまでに 10 秒以上かかる場合がありますが、実際の環境では、呼び出しはほぼ瞬時に行われます。