IE9用$.ajax請求不到數據

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

 

剛開始還覺得是ajax請求的參數有問題,改了不少遍一點變化都沒有。json

在網上搜:說的是之因此會出現請求失效的問題,是由於IE有個緩存機制,會對請求的url進行判斷,發現短期內請求url相同,則使用緩存的數據而不是從新去服務器獲取一次數據。能夠用如下兩種方法解決跨域

但我這邊仍是不起做用緩存

 

後來終於找到了解決方法:原來是由於跨域的問題服務器

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

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


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

最簡單的方法就是:異步

可是,通常用戶是不可能去改的,假如只有十幾二十個用戶,這樣的方法是能夠的,可是客戶多了的話,這樣根本不可能讓每個都去修改的。測試

 最後的解決方法是:jsonp

在全部的js前加上:轉換的jsurl

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

就能夠完美的解決這個問題了。

相關文章
相關標籤/搜索