解決 ajax 在IE10以下失效的問題

2021-08-09 16:53:14 字數 1213 閱讀 8005

一、問題重現

本地的指令碼請求測試環境的介面

1

2

3

4

5

6

$.ajax(

});

在chrome、firefox和ie9以上的都正常傳送請求,ie10以下沒有傳送請求。

二、解決思路

$.ajax()中把錯誤資訊顯示出來

1

2

3

4

5

6

7

$.ajax(

error:function(a, b, c)

});

三、原來是 no transport錯誤

網上說是涉及到跨站指令碼攻擊,所以不讓提交。

四、解決

在$.ajax()前加上下面這句話(jquery.support.cors = true;),這是對cors協議的一種實現,cors是w3c中額度一項新特性,能讓jquery支援跨域請求。

1

2

3

4

5

6

7

jquery.support.cors =true;

$.ajax(

});

注意:實際開發環境中是不可以加上jquery.support.cors = true;這句話的。

其實jquery已經提供了專門的方法支援跨域請求,比如jsonp等,但這只是乙個測試環境,真實環境並沒有出現這個問題。專門講解決跨域問題,那就是另外乙個話題了。

IE10以下類靜態變數繼承

感謝 babel,我們可以在專案中使用 es6 語法開發專案,大大提公升開發效率。但是,在 ie 10 中,我們需要留意乙個 babel 翻譯的處理,那就是 es6 類繼承語法。class root class model extends root model.displayname root 如上...

fckeditor在ie 10中遇到問題的解決方法

在ie 10中,會發現舊版本的fckeditor會出現如下的錯誤 selectsinglenode is missing,原來ie 10中,dom parser有變化了,就是 傳送ajax請求之前,加一句 問題解決,可以正常使用 selectnodes 方法了,selectsinglenode 方法...

中文在IE10以上瀏覽器亂碼問題解決

後端解碼的方式很多,但通過最佳實踐,只有通過urlencoder.decode 解碼最有效 先對前端傳遞過來的檔名進行解碼,urldecoder.decode filename,utf 8 然後在response的header上設定匯出的檔名,這個檔名可以通過urlencoder編碼解決,即urle...