Jquery Ajax Error 調(diào)試錯誤的技巧
JQuery使我們在開發(fā)Ajax應(yīng)用程序的時候提高了效率,減少了許多兼容性問題,我們在Ajax項目中,遇到ajax異步獲取數(shù)據(jù)出錯怎么辦,我們可以通過捕捉error事件來獲取出錯的信息。
在沒給大家介紹正文之前先給分享Jquery中AJAX參數(shù)詳細(xì)列表:
| 參數(shù)名 | 類型 | 描述 |
| url | String | (默認(rèn): 當(dāng)前頁地址) 發(fā)送請求的地址。 |
| type | String | (默認(rèn): "GET") 請求方式 ("POST" 或 "GET"), 默認(rèn)為 "GET"。注意:其它 HTTP 請求方法,如 PUT 和 DELETE 也可以使用,但僅部分瀏覽器支持。 |
| timeout | Number | 設(shè)置請求超時時間(毫秒)。此設(shè)置將覆蓋全局設(shè)置。 |
| async | Boolean | (默認(rèn): true) 默認(rèn)設(shè)置下,所有請求均為異步請求。如果需要發(fā)送同步請求,請將此選項設(shè)置為 false。注意,同步請求將鎖住瀏覽器,用戶其它操作必須等待請求完成才可以執(zhí)行。 |
| beforeSend | Function | 發(fā)送請求前可修改 XMLHttpRequest 對象的函數(shù),如添加自定義 HTTP 頭。XMLHttpRequest 對象是唯一的參數(shù)。function (XMLHttpRequest) { |
| cache | Boolean | (默認(rèn): true) jQuery 1.2 新功能,設(shè)置為 false 將不會從瀏覽器緩存中加載請求信息。 |
| complete | Function | 請求完成后回調(diào)函數(shù) (請求成功或失敗時均調(diào)用)。參數(shù): XMLHttpRequest 對象,成功信息字符串。function (XMLHttpRequest, textStatus) { |
| contentType | String | (默認(rèn): "application/x-www-form-urlencoded") 發(fā)送信息至服務(wù)器時內(nèi)容編碼類型。默認(rèn)值適合大多數(shù)應(yīng)用場合。 |
| data | Object, String |
發(fā) 送到服務(wù)器的數(shù)據(jù)。將自動轉(zhuǎn)換為請求字符串格式。GET 請求中將附加在 URL 后。查看 processData 選項說明以禁止此自動轉(zhuǎn)換。必須為 Key/Value 格式。如果為數(shù)組,jQuery 將自動為不同值對應(yīng)同一個名稱。如 {foo:["bar1", "bar2"]} 轉(zhuǎn)換為 '&foo=bar1&foo=bar2'。 |
| dataType | String |
預(yù)期服務(wù)器返回的數(shù)據(jù)類型。如果不指定,jQuery 將自動根據(jù) HTTP 包 MIME 信息返回 responseXML 或 responseText,并作為回調(diào)函數(shù)參數(shù)傳遞,可用值: "xml": 返回 XML 文檔,可用 jQuery 處理。 "html": 返回純文本 HTML 信息;包含 script 元素。 "script": 返回純文本 JavaScript 代碼。不會自動緩存結(jié)果。 "json": 返回 JSON 數(shù)據(jù) 。 "jsonp": JSONP 格式。使用 JSONP 形式調(diào)用函數(shù)時,如 "myurl?callback=?" jQuery 將自動替換 ? 為正確的函數(shù)名,以執(zhí)行回調(diào)函數(shù)。 |
| error | Function | (默認(rèn): 自動判斷 (xml 或 html)) 請求失敗時將調(diào)用此方法。這個方法有三個參數(shù):XMLHttpRequest 對象,錯誤信息,(可能)捕獲的錯誤對象。function (XMLHttpRequest, textStatus, errorThrown) { |
| global | Boolean | (默認(rèn): true) 是否觸發(fā)全局 AJAX 事件。設(shè)置為 false 將不會觸發(fā)全局 AJAX 事件,如 ajaxStart 或 ajaxStop 。可用于控制不同的Ajax事件 |
| ifModified | Boolean | (默認(rèn): false) 僅在服務(wù)器數(shù)據(jù)改變時獲取新數(shù)據(jù)。使用 HTTP 包 Last-Modified 頭信息判斷。 |
| processData | Boolean | (默認(rèn): true) 默認(rèn)情況下,發(fā)送的數(shù)據(jù)將被轉(zhuǎn)換為對象(技術(shù)上講并非字符串) 以配合默認(rèn)內(nèi)容類型 "application/x-www-form-urlencoded"。如果要發(fā)送 DOM 樹信息或其它不希望轉(zhuǎn)換的信息,請設(shè)置為 false。 |
| success | Function | 請求成功后回調(diào)函數(shù)。這個方法有兩個參數(shù):服務(wù)器返回數(shù)據(jù),返回狀態(tài)function (data, textStatus) { |
jquery中ajax的常用用法類似于:
JScript 代碼
$(document).ready(function() {
jQuery("#clearCac").click(function() {
jQuery.ajax({
url: url,
type: "post",
data: { id: '0' },
dataType: "json",
success: function(msg) {
alert(msg);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
},
complete: function(XMLHttpRequest, textStatus) {
this; // 調(diào)用本次AJAX請求時傳遞的options參數(shù)
}
});
});
});
當(dāng)通過ajax異步調(diào)用成功時,會調(diào)用 success函數(shù) 。success函數(shù)語法為:
//請求成功后回調(diào)函數(shù)。這個方法有兩個參數(shù):服務(wù)器返回數(shù)據(jù),返回狀態(tài)
function (data, textStatus)
{
// data could be xmlDoc, jsonObj, html, text, etc...
this;
// the options for this ajax request
}
當(dāng)通過ajax異步調(diào)用出錯時,會調(diào)用 error函數(shù) 。error函數(shù)語法為:
//(默 認(rèn): 自動判斷 (xml 或 html)) 請求失敗時調(diào)用時間。參數(shù)有以下三個:XMLHttpRequest 對象、錯誤信息、(可選)捕獲的錯誤對象。如果發(fā)生了錯誤,錯誤信息(第二個參數(shù))除了得到null之外,還可能是"timeout", "error", "notmodified" 和 "parsererror"。
//textStatus: "timeout", "error", "notmodified" 和 "parsererror"。
error:function (XMLHttpRequest, textStatus, errorThrown)
{
}
error事件返回的第一個參數(shù)XMLHttpRequest:
XMLHttpRequest.readyState: 狀態(tài)碼的意思
0 - (未初始化)還沒有調(diào)用send()方法
1 - (載入)已調(diào)用send()方法,正在發(fā)送請求
2 - (載入完成)send()方法執(zhí)行完成,已經(jīng)接收到全部響應(yīng)內(nèi)容
3 - (交互)正在解析響應(yīng)內(nèi)容
4 - (完成)響應(yīng)內(nèi)容解析完成,可以在客戶端調(diào)用了
發(fā)送error可能有下面兩張引起的,或者其他程序問題,需要我們認(rèn)真仔細(xì)。
1、data:"{}", data為空也一定要傳"{}";不然返回的是xml格式的。并提示parsererror.
2、parsererror的異常和Header 類型也有關(guān)系。及編碼header('Content-type: text/html; charset=utf8');
以上內(nèi)容是小編給大家分享關(guān)于Jquery Ajax Error 調(diào)試錯誤的技巧,希望大家喜歡。
- 詳解ajax的data參數(shù)錯誤導(dǎo)致頁面崩潰
- 快速解決ajax請求出錯狀態(tài)碼為0的問題
- PHP 中使用ajax時一些常見錯誤總結(jié)整理
- 完美解決ajax跨域請求下parsererror的錯誤
- ajax跨域訪問報錯501的解決方法
- jQuery中ajax錯誤調(diào)試分析
- Ajax向后臺傳json格式的數(shù)據(jù)出現(xiàn)415錯誤的原因分析及解決方法
- Ajax犯的錯誤處理方法
- js ajaxfileupload.js上傳報錯的解決方法
- 解決ajax返回驗證的時候總是彈出error錯誤的方法
- django使用ajax post數(shù)據(jù)出現(xiàn)403錯誤如何解決
- Ajax報錯400的參考解決辦法
相關(guān)文章
JQuery 動態(tài)生成Table表格實(shí)例代碼
這篇文章主要介紹了JQuery 動態(tài)生成Table表格實(shí)例代碼的相關(guān)資料,這里附有實(shí)現(xiàn)實(shí)例代碼,具有一定的參考價值,需要的朋友可以參考下2016-12-12
jQuery Mobile框架中的表單組件基礎(chǔ)使用教程
jQuery Mobile框架主要針對移動端的Web UI設(shè)計,其中豐富的表單組件調(diào)用起來也是相當(dāng)方便,接下來就為大家整理了一份jQuery Mobile框架中的表單組件基礎(chǔ)使用教程,需要的朋友可以參考下2016-05-05
JQuery UI的拖拽功能實(shí)現(xiàn)方法小結(jié)
jquery 跳到頂部和底部動畫2句代碼簡單實(shí)現(xiàn)
JQuery常見節(jié)點(diǎn)操作實(shí)例分析
基于jquery實(shí)現(xiàn)控制經(jīng)緯度顯示地圖與衛(wèi)星

