溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

怎么解決jquery ajax不兼容ie8的問(wèn)題

發(fā)布時(shí)間:2021-01-05 14:32:21 來(lái)源:億速云 閱讀:331 作者:小新 欄目:web開(kāi)發(fā)

了解怎么解決jquery ajax不兼容ie8的問(wèn)題?這個(gè)問(wèn)題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見(jiàn)到的,希望通過(guò)這個(gè)文章能讓大家收獲頗深,下面是小編給大家?guī)?lái)的參考內(nèi)容,讓我們一起來(lái)看看吧!

jquery ajax不兼容ie8的解決辦法:首先打開(kāi)相應(yīng)的代碼文件;然后使用JSON格式請(qǐng)求數(shù)據(jù),其代碼語(yǔ)句如“{foo:["bar1", "bar2"]}”。

關(guān)于jQuery的AJAX不兼容IE的解決辦法

在使用jQuery的AJAX:get方法去檢測(cè)數(shù)據(jù)是否存在時(shí),會(huì)發(fā)現(xiàn)IE會(huì)出現(xiàn)不兼容的情況。

用AJAX:post方法時(shí),使用Chrome/FireFox/IE均能出現(xiàn)正確的結(jié)果,但是在使用AJAX:get方法時(shí),IE卻不能返回正確的結(jié)果。

難道是數(shù)據(jù)超出了get方法的限制的長(zhǎng)度,這個(gè)也不可能,我總共才傳了一點(diǎn)點(diǎn)數(shù)據(jù)。排除。

網(wǎng)上一些網(wǎng)友說(shuō)是IE緩存的問(wèn)題,在請(qǐng)求數(shù)據(jù)后邊加上隨機(jī)數(shù)就行,比如加上時(shí)間數(shù)new Date().getTime()。

先前的代碼中我已經(jīng)添加了隨機(jī)數(shù),用的是“Math.random()”也不行。難道用時(shí)間比較靠譜?

那就改成獲取時(shí)間試試,在參數(shù)后加“new Date().getTime()”后反復(fù)測(cè)試還是不行,真是百思不得其解!這個(gè)錯(cuò)誤也排除了。

反復(fù)查看手冊(cè)后發(fā)現(xiàn)請(qǐng)求的數(shù)據(jù)格式還是有一種JSON格式,如{foo:["bar1", "bar2"]} ,然后就按照這種格式書(shū)寫(xiě),還真的返回了正確的查詢(xún)結(jié)果。真不知道IE還有這點(diǎn)要求。(完)

先前的格式:

type: "get",
data: "bid="+my_bid+"&name_cn="+name_cn+"&timeStamp="+new Date().getTime(),

改進(jìn)后格式:

type: "get",
data: {'bid':my_bid,'name_cn':name_cn,'timeStamp':new Date().getTime()},

在jQuery手冊(cè)中是這樣描述的:

data Object,String

發(fā)送到服務(wù)器的數(shù)據(jù)。將自動(dòng)轉(zhuǎn)換為請(qǐng)求字符串格式。GET 請(qǐng)求中將附加在 URL 后。

查看 processData 選項(xiàng)說(shuō)明以禁止此自動(dòng)轉(zhuǎn)換。必須為 Key/Value 格式。

如果為數(shù)組,jQuery 將自動(dòng)為不同值對(duì)應(yīng)同一個(gè)名稱(chēng)。如 {foo:["bar1", "bar2"]} 轉(zhuǎn)換為 "&foo=bar1&foo=bar2"。

代碼片段:

var siteUrl="http://blog.sina.com.cn/cnwyt"; 
jQuery.ajax({
type: "get",
url: siteUrl+"cosmetics/product/ajax_check?",
//data: "bid="+my_bid+"&name_cn="+name_cn+"&timeStamp=" + new Date().getTime(),
data: {'bid':my_bid,'name_cn':name_cn,'timeStamp':new Date().getTime()},
dataType: 'json',
error: function (err) { alert('網(wǎng)絡(luò)故障,請(qǐng)與管理員聯(lián)系!') },
success: function (message) {
if(message!=false){
//ture的代碼
}else{
//false的代碼
}
});

感謝各位看完上述內(nèi)容,你們對(duì)“怎么解決jquery ajax不兼容ie8的問(wèn)題”這篇文章大概了解了嗎?希望文章的內(nèi)容對(duì)大家有所幫助,如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI