最近、いくつかのajaxコードをリファクタリングして非同期にしました。以前は完全に機能していましたが、jQueryのpromiseを使用したかったので、jQuerifiedしました。ただし、現在、ajax呼び出しはIE以外のすべてのブラウザーで機能します。
IE9は、ajax関数に変数名が割り当てられている場合にエラーをスローします。IEのエラーは次のとおりです。
「オブジェクトは、99行目のこのメソッドまたはプロパティをサポートしていません。」
エラーが発生するチャンクは次のとおりです。
if (screen.width > 525 && svgSupported) {
$loadingSvg = $.ajax({
type: 'GET',
url: 'images/mypicture.svg',
dataType: 'xml',
success: function(data){
console.log("Ajax request successfully returned: " + data);
console.log(data);
},
error: function(data){
console.log("Ajax request failed: " + data);
}
});
}
私は、jQ $(document).readyですべてをラップするなど、同様の状況にある他の人々がSOで提案したいくつかの明白なことを試しました。それはそれを修正しません。$loadingSvg
変数はスクリプトの先頭でグローバルに宣言されているので、そうではありません。何かアイデアはありますか?