ajax跨域請求下parsererror錯誤

2021-06-11 21:50:56 字數 1112 閱讀 4644

ajax請求報parsererror錯誤是很寬泛的概念,很多情況下都報這個錯,

在很多時候,即使ajax提交、返回都正常

xmlhttprequest.status=200  (正常響應)

xmlhttprequest.readystate=4 (正常接收)

ajax也會提示乙個parseerror的錯誤.

出現這個錯誤,大都是不良書寫習慣,或者語法不當造成的.

關於ajax的錯誤,請使用:

error:function(xmlhttprequest, textstatus, errorthrown)
或:
$("div").ajaxerror(function(event,request, settings));
取得錯誤相關資訊,以進行分析.

textstatus返回除了得到null,"timeout", "error", "notmodified" 和 "parsererror"。

xmlhttprequest物件可以使用status,readystate,responsetext等屬性取得http**,處理狀態和伺服器返回的文字內容.

在使用ajax,以及相關應用開發過程中,一定要按標準寫程式,可以減少出錯的機率.

這個標準包括語法,資料格式,標點符號等.

ajax跨請求中,如果data為空,請使用;

data:"{}",

ajax處理伺服器返回json格式資料時,如果採用$.parsejson()方式,

那麼伺服器返回的json資料格式,一定按標準json格式書寫,

對字元而言必須用雙引號代替單引號包圍,數值,布林型別,null不用,

這點主要在一些老的jquery版本上發生單引號,雙引號的不同而出現錯誤提示.

ajax跨域請求(jsonp)中,服務端返回資料格式必須是:

mycallbackfunction();

請注意這個函式最後的分號";",必須加上,

否則,如果同乙個頁面有多個ajax請求,並且在資料沒有返回時,再發出其它ajax請求時,

有可能出現parsererror出錯提示.

這種錯誤很隱敝,在開發時,不容易發現,在併發測試時,就很容易暴露出.

ajax跨域請求下parsererror錯誤

ajax跨請求中,如果data為空,請使用 data ajax處理伺服器返回json格式資料時,如果採用 parsejson 方式,那麼伺服器返回的json資料格式,一定按標準json格式書寫,對字元而言必須用雙引號代替單引號包圍,數值,布林型別,null不用,這點主要在一些老的 jquery 版本...

Ajax跨域請求

一 什麼是跨域請求 網域名稱它由http 協議 www 子網域名稱 baidu 主網域名稱 以及8080 埠號 組成,當另乙個網域名稱與其中任意一項對應不等的話,那麼我們說兩個網域名稱就是跨域的。如的頁面上我們要請求資料到上去,那麼就說這種請求是跨域請求。二 為什麼要講跨域請求 因為在一般的請求條件...

Ajax 跨域請求

隨筆 71 文章 0 客戶端js 服務端 1 string callbackfunname context.request callbackparam 2 context.response.write callbackfunname ps 客戶端的jsonp引數是用來通過url傳參,傳遞jsonpc...