IE9用$.ajax請求不到數據


在Google下面都是ok的,IE10-11也是ok的,到了IE9就一直走error

 

剛開始還以為是ajax請求的參數有問題,改了很多遍一點變化都沒有。

在網上搜:說的是之所以會出現請求失效的問題,是因為IE有個緩存機制,會對請求的url進行判斷,發現短時間內請求url相同,則使用緩存的數據而不是重新去服務器獲取一次數據。可以用以下兩種方法解決

但我這邊還是不起作用

 

后來終於找到了解決方法:原來是因為跨域的問題

解決方案:在$.ajax請求前加上 

jQuery.support.cors = true; 就可以了。
這是對cors協議的一種實現,CORS是W3C中額度一項新特性,能讓jQuery支持跨域請求
但是也可以不這樣寫,那就的換另一種方式了jsonp的格式。


這樣還是存在一個問題,在線下測試沒有問題,如果放到服務器上面就會出現如下問題:

最簡單的方法就是:

但是,一般用戶是不可能去改的,假如只有十幾二十個用戶,這樣的方法是可以的,但是客戶多了的話,這樣根本不可能讓每一個都去修改的。

 最后的解決方法是:

在所有的js前加上:轉換的js

將異步請求改成同步請求。

就可以完美的解決這個問題了。

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM