完美解決ajax跨域請(qǐng)求下parsererror的錯(cuò)誤
ajax請(qǐng)求報(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ò)誤,大都是不良書(shū)寫(xiě)習(xí)慣,或者語(yǔ)法不當(dāng)造成的.
關(guān)于ajax的錯(cuò)誤,請(qǐng)使用:
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ò)頁(yè)面:" + settings.url + "</li>"); });
取得錯(cuò)誤相關(guān)信息,以進(jìn)行分析.
textStatus返回除了得到null,"timeout", "error", "notmodified" 和 "parsererror"。
XMLHttpRequest對(duì)象可以使用status,readyState,responseText等屬性取得HTTP代碼,處理狀態(tài)和服務(wù)器返回的文字內(nèi)容.
在使用ajax,以及相關(guān)應(yīng)用開(kāi)發(fā)過(guò)程中,一定要按標(biāo)準(zhǔn)寫(xiě)程序,可以減少出錯(cuò)的機(jī)率.
這個(gè)標(biāo)準(zhǔn)包括語(yǔ)法,數(shù)據(jù)格式,標(biāo)點(diǎn)符號(hào)等.
ajax跨請(qǐng)求中,如果data為空,請(qǐng)使用;
data:"{}",
ajax處理服務(wù)器返回Json格式數(shù)據(jù)時(shí),如果采用$.parseJSON()方式,
那么服務(wù)器返回的Json數(shù)據(jù)格式,一定按標(biāo)準(zhǔn)Json格式書(shū)寫(xiě),
對(duì)字符而言必須用雙引號(hào)代替單引號(hào)包圍,數(shù)值,布爾類(lèi)型,null不用,
這點(diǎn)主要在一些老的jquery版本上發(fā)生單引號(hào),雙引號(hào)的不同而出現(xiàn)錯(cuò)誤提示.
ajax跨域請(qǐng)求(jsonp)中,服務(wù)端返回?cái)?shù)據(jù)格式必須是:
myCallbackFunction({"id":1,"name":"C#","is_familiar":true});
請(qǐng)注意這個(gè)函數(shù)最后的分號(hào)";",必須加上,
否則,如果同一個(gè)頁(yè)面有多個(gè)ajax請(qǐng)求,并且在數(shù)據(jù)沒(méi)有返回時(shí),再發(fā)出其它ajax請(qǐng)求時(shí),
有可能出現(xiàn)parsererror出錯(cuò)提示.
這種錯(cuò)誤很隱敝,在開(kāi)發(fā)時(shí),不容易發(fā)現(xiàn),在并發(fā)測(cè)試時(shí),就很容易暴露出.
以上這篇完美解決ajax跨域請(qǐng)求下parsererror的錯(cuò)誤就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Ajax技術(shù)實(shí)現(xiàn)文件上傳帶進(jìn)度條
這篇文章主要介紹了基于Ajax技術(shù)實(shí)現(xiàn)文件上傳帶進(jìn)度條的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06Ajax工作原理及優(yōu)缺點(diǎn)實(shí)例解析
這篇文章主要介紹了Ajax工作原理及優(yōu)缺點(diǎn)實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09利用promise及參數(shù)解構(gòu)封裝ajax請(qǐng)求的方法
這篇文章主要介紹了利用promise及參數(shù)解構(gòu)封裝ajax請(qǐng)求的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01ajax動(dòng)態(tài)為a標(biāo)簽href賦值不執(zhí)行跳轉(zhuǎn)的原因分析及解決
ajax 動(dòng)態(tài)為a標(biāo)簽的href屬性賦值,總是不執(zhí)行跳轉(zhuǎn)的原因想必大家有遇到過(guò)吧,下面與大家分享下具體的解決方法,希望對(duì)你有所幫助2013-06-06ajax接口文檔url路徑的簡(jiǎn)寫(xiě)實(shí)例
前端工程師將來(lái)打交道最多的是Http API接口,此種接口會(huì)提供一個(gè)URL地址暴露在互聯(lián)網(wǎng)上,可以通過(guò)編寫(xiě)Ajax代碼去與之交互來(lái)完成功能,下面這篇文章主要給大家介紹了關(guān)于ajax接口文檔url路徑簡(jiǎn)寫(xiě)的相關(guān)資料,需要的朋友可以參考下2021-10-10Ajax請(qǐng)求過(guò)程中下載文件在FireFox(火狐)瀏覽器下的兼容問(wèn)題
最近做了個(gè)項(xiàng)目,其中有項(xiàng)目需求是這樣的,點(diǎn)擊一個(gè)文件鏈接下載該文件,同時(shí)向后臺(tái)發(fā)送請(qǐng)求,在開(kāi)發(fā)過(guò)程中問(wèn)題百出,小編把問(wèn)題總結(jié)分享在腳本之家平臺(tái),供大家參考2016-01-01使用jquery 的ajax調(diào)用總是錯(cuò)誤親測(cè)的解決方法
使用jquery 的ajax功能調(diào)用一個(gè)頁(yè)面,卻發(fā)現(xiàn)總是出現(xiàn)錯(cuò)誤,經(jīng)過(guò)這么多測(cè)試終于正常了,尤其是 dataType: 'json',看來(lái)jquery有很?chē)?yán)格的驗(yàn)證機(jī)制2013-07-07