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