DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX基礎知識 >> 完美解決ajax跨域請求下parsererror的錯誤
完美解決ajax跨域請求下parsererror的錯誤
編輯:AJAX基礎知識     

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

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

XMLHttpRequest.status=200  (正常響應)

XMLHttpRequest.readyState=4 (正常接收)

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

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

關於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>");
});

取得錯誤相關信息,以進行分析.

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({"id":1,"name":"C#","is_familiar":true});

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

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

有可能出現parsererror出錯提示.

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

以上這篇完美解決ajax跨域請求下parsererror的錯誤就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved