完美解決ajax跨域請求下parsererror的錯(cuò)誤
ajax請求報(bào)parsererror錯(cuò)誤是很寬泛的概念,很多情況下都報(bào)這個(gè)錯(cuò),
在很多時(shí)候,即使ajax提交、返回都正常
XMLHttpRequest.status=200 (正常響應(yīng))
XMLHttpRequest.readyState=4 (正常接收)
ajax也會(huì)提示一個(gè)parseerror的錯(cuò)誤.
出現(xiàn)這個(gè)錯(cuò)誤,大都是不良書寫習(xí)慣,或者語法不當(dāng)造成的.
關(guān)于ajax的錯(cuò)誤,請使用:
error:function(XMLHttpRequest, textStatus, errorThrown){
$("div").html(textStatus);
$("div").append("<br/>"XMLHttpRequest.status);
$("div").append("<br/>"XMLHttpRequest.readyState);
$("div").append("<br/>"XMLHttpRequest.responseText);
}
或:
$("div").ajaxError(function(event,request, settings){
$(this).append("<li>出錯(cuò)頁面:" + settings.url + "</li>");
});
取得錯(cuò)誤相關(guān)信息,以進(jìn)行分析.
textStatus返回除了得到null,"timeout", "error", "notmodified" 和 "parsererror"。
XMLHttpRequest對象可以使用status,readyState,responseText等屬性取得HTTP代碼,處理狀態(tài)和服務(wù)器返回的文字內(nèi)容.
在使用ajax,以及相關(guān)應(yīng)用開發(fā)過程中,一定要按標(biāo)準(zhǔn)寫程序,可以減少出錯(cuò)的機(jī)率.
這個(gè)標(biāo)準(zhǔn)包括語法,數(shù)據(jù)格式,標(biāo)點(diǎn)符號等.
ajax跨請求中,如果data為空,請使用;
data:"{}",
ajax處理服務(wù)器返回Json格式數(shù)據(jù)時(shí),如果采用$.parseJSON()方式,
那么服務(wù)器返回的Json數(shù)據(jù)格式,一定按標(biāo)準(zhǔn)Json格式書寫,
對字符而言必須用雙引號代替單引號包圍,數(shù)值,布爾類型,null不用,
這點(diǎn)主要在一些老的jquery版本上發(fā)生單引號,雙引號的不同而出現(xiàn)錯(cuò)誤提示.
ajax跨域請求(jsonp)中,服務(wù)端返回?cái)?shù)據(jù)格式必須是:
myCallbackFunction({"id":1,"name":"C#","is_familiar":true});
請注意這個(gè)函數(shù)最后的分號";",必須加上,
否則,如果同一個(gè)頁面有多個(gè)ajax請求,并且在數(shù)據(jù)沒有返回時(shí),再發(fā)出其它ajax請求時(shí),
有可能出現(xiàn)parsererror出錯(cuò)提示.
這種錯(cuò)誤很隱敝,在開發(fā)時(shí),不容易發(fā)現(xiàn),在并發(fā)測試時(shí),就很容易暴露出.
以上這篇完美解決ajax跨域請求下parsererror的錯(cuò)誤就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Ajax實(shí)現(xiàn)無閃爍定時(shí)刷新頁面實(shí)例代碼
這篇文章主要介紹了使用Ajax技術(shù)實(shí)現(xiàn)無閃爍定時(shí)刷新頁面實(shí)例代碼,非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起看下吧2016-05-05
Ajax+smarty技術(shù)實(shí)現(xiàn)無刷新分頁
這篇文章主要介紹了Ajax+smarty技術(shù)實(shí)現(xiàn)無刷新分頁的相關(guān)資料,需要的朋友可以參考下2016-03-03
jQuery中ajax - post() 方法實(shí)例詳解
在jquery中的ajax有二個(gè)數(shù)據(jù)發(fā)送模式,一種是get,另一種是post(),下面我來給大家介紹介紹,有需要了解的朋友可參考2015-09-09

