下面我就為大家帶來一篇完美解決ajax跨域請求下parsererror的錯誤。現在就分享給大家,也給大家做個參考。
parser error是什麼意思?
ajax請求報parsererror錯誤是很寬泛的概念,很多情況下都報這個錯,
在很多時候,即使ajax提交、返回都正常
XMLHttpRequest.status=200 (正常回應)
XMLHttpRequest.readyState=4 (正常接收)
#ajax也會提示一個parseerror的錯誤.
出現這個錯誤,大都是不良書寫習慣,或語法不當造成的.
關於ajax的錯誤,請使用:
error:function(XMLHttpRequest, textStatus, errorThrown){ $("p").html(textStatus); $("p").append("<br/>"XMLHttpRequest.status); $("p").append("<br/>"XMLHttpRequest.readyState); $("p").append("<br/>"XMLHttpRequest.responseText); }
或:
$("p").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格式書寫,
ajax跨域請求(jsonp)中,服務端回傳資料格式必須是:
myCallbackFunction({"id":1,"name":"C#","is_familiar":true});
請注意這個函數最後的分號";",必須加上,
#否則,如果同一個頁面有多個ajax請求,並且在資料沒有回傳時,再發出其它ajax請求時,
#有可能出現parsererror出錯提示.
#這種錯誤很隱敝,在開發時,不容易發現,在並發測試時,就很容易暴露出.
上面是我整理給大家的,希望今後對大家有幫助。 相關文章:AJAX SpringMVC 實作bootstrap模態框的分頁查詢功能
以上是完美解決ajax跨域請求下parsererror的錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!