首頁 >web前端 >js教程 >JQuery.Ajax之錯誤調試幫助資訊介紹_jquery

JQuery.Ajax之錯誤調試幫助資訊介紹_jquery

WBOY
WBOY原創
2016-05-16 17:30:26977瀏覽
下面是Jquery中AJAX参数详细列表:
timeout Number 设置请求超时时间(毫秒)。此设置将覆盖全局设置。
async Boolean (默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
beforeSend Function 发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。
<span>function</span> (XMLHttpRequest) { <span>this</span>; <span>// the options for this ajax request</span> }
cache Boolean (默认: true) jQuery 1.2 新功能,设置为 false 将不会从浏览器缓存中加载请求信息。
complete Function 请求完成后回调函数 (请求成功或失败时均调用)。参数: XMLHttpRequest 对象,成功信息字符串。
<span>function</span> (XMLHttpRequest, textStatus) { <span>this</span>; <span>// the options for this ajax request</span> }
contentType String (默认: "application/x-www-form-urlencoded") 发送信息至服务器时内容编码类型。默认值适合大多数应用场合。
data Object, String 发 送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'。
dataType String

预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息返回 responseXML 或 responseText,并作为回调函数参数传递,可用值:

"xml": 返回 XML 文档,可用 jQuery 处理。

"html": 返回纯文本 HTML 信息;包含 script 元素。

"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。

"json": 返回 JSON 数据 。

"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。

error Function (默认: 自动判断 (xml 或 html)) 请求失败时将调用此方法。这个方法有三个参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。
<span>function</span> (XMLHttpRequest, textStatus, errorThrown) { <span>// 通常情况下textStatus和errorThown只有其中一个有值 </span> <span>this</span>; <span>// the options for this ajax request</span> }
global Boolean (默认: true) 是否触发全局 AJAX 事件。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 。可用于控制不同的Ajax事件
ifModified Boolean (默认: false) 仅在服务器数据改变时获取新数据。使用 HTTP 包 Last-Modified 头信息判断。
processData Boolean (默认: true) 默认情况下,发送的数据将被转换为对象(技术上讲并非字符串) 以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。
success Function 请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态
<span>function</span> (data, textStatus) { <span>// data could be xmlDoc, jsonObj, html, text, etc...</span> <span>this</span>; <span>// the options for this ajax request</span> }

複製程式碼 程式碼如下:

$(document).ready(function() {
            jQuery("#clearCac").click(function() {
                jQuery.ajax({
                    url: "/Handle/Do.aspx",
                    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; // 调用本次AJAX请求时传递的options参数
                    }
                });
            });
        });

 

一、error:function (XMLHttpRequest, textStatus, errorThrown)
{
}
(默 认: 自动判断 (xml 或 html)) 请求失败时调用时间。参数有以下三个:XMLHttpRequest 对象、错误信息、(可选)捕获的错误对象。如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"timeout", "error", "notmodified" 和 "parsererror"。

textStatus:

 "timeout", "error", "notmodified" 和 "parsererror"。

二、error事件返回的第一个参数XMLHttpRequest有一些有用的信息:
 
XMLHttpRequest.readyState:

状态码
 - (未初始化)还没有调用send()方法
 - (载入)已调用send()方法,正在发送请求
 - (载入完成)send()方法执行完成,已经接收到全部响应内容
 - (交互)正在解析响应内容
 - (完成)响应内容解析完成,可以在客户端调用了

三、data:"{}", data为空也一定要传"{}";不然返回的是xml格式的。并提示parsererror.
 
四、parsererror的异常和Header 类型也有关系。及编码header('Content-type: text/html; charset=utf8');

五、XMLHttpRequest.status:
xx-訊息提示 
這些狀態碼表示暫時的回應。客戶端在收到常規回應之前,應準備接收一個或多個1xx回應。 
-繼續。 
-切換協定​​。 

xx-成功 
這類狀態代碼表示伺服器成功地接受了客戶端請求。 
-確定。客戶端請求已成功。 
-已建立。 
-已接受。 
-非權威性資訊。 
-無內容。 
-重置內容。 
-部分內容。 

xx-重定向 
用戶端瀏覽器必須採取更多動作來實現請求。例如,瀏覽器可能必須請求伺服器上的不同的頁面,或透過代理伺服器重複該請求。 
-物件已永久移走,即永久重定向。 
-物件已暫時移動。 
-未修改。 
-暫時重定向。 

xx-客戶端錯誤 
發生錯誤,客戶端似乎有問題。例如,客戶端請求不存在的頁面,客戶端未提供有效的身份驗證資訊。 400-錯誤的請求。 
-訪問被拒絕。 IIS定義了許多不同的401錯誤,它們指明更具體的錯誤原因。這些特定的錯誤代碼在瀏覽器中顯示,但不在IIS日誌中顯示: 
.1-登入失敗。 
.2-伺服器設定導致登入失敗。 
.3-由於ACL對資源的限製而未獲得授權。 
.4-篩選器授權失敗。 
.5-ISAPI/CGI應用程式授權失敗。 
.7–存取被Web伺服器上的URL授權政策拒絕。這個錯誤代碼為IIS6.0所專用。 
-禁止存取:IIS定義了許多不同的403錯誤,它們指明更具體的錯誤原因: 
.1-執行存取被禁止。 
.2-讀取存取被禁止。 
.3-寫入存取被禁止。 
.4-要求SSL。 
.5-要求SSL128。 
.6-IP位址被拒絕。 
.7-要求客戶端證書。 
.8-站點存取被拒絕。 
.9-用戶數過多。 
.10-配置無效。 
.11-密碼更改。 
.12-拒絕存取映射表。 
.13-客戶端憑證被撤銷。 
.14-拒絕目錄清單。 
.15-超出客戶端存取許可。 
.16-用戶端憑證不受信任或無效。 
.17-用戶端憑證已過期或尚未生效。 
.18-在目前的應用程式集區中不能執行所要求的URL。這個錯誤代碼為IIS6.0所專用。 
.19-不能為這個應用程式集區中的客戶端執行CGI。這個錯誤代碼為IIS6.0所專用。 
.20-Passport登入失敗。這個錯誤代碼為IIS6.0所專用。 
-未找到。 
.0-(無)–沒有找到檔案或目錄。 
.1-無法在所要求的連接埠上存取Web網站。 
.2-Web服務擴充功能鎖定策略阻止本請求。 
.3-MIME映射策略阻止本請求。 
-用來存取本頁的HTTP謂詞不被允許(方法不被允許) 
-用戶端瀏覽器不接受所要求頁面的MIME類型。 
-要求進行代理身份驗證。 
-前提條件失敗。 
–請求實體太大。 
-請求URI太長。 
–不支援的媒體類型。 
–所要求的範圍無法滿足。 
–執行失敗。 
–鎖定的錯誤。 

xx-伺服器錯誤
 
伺服器因遇到錯誤而無法完成該要求。 
-內部伺服器錯誤。 
.12-應用程式正忙於在Web伺服器上重新啟動。 
.13-Web伺服器太忙。 
.15-不允許直接要求Global.asa。 
.16–UNC授權憑證不正確。這個錯誤代碼為IIS6.0所專用。 
.18–URL授權儲存不能開啟。這個錯誤代碼為IIS6.0所專用。 
.100-內部ASP錯誤。 
-頁眉值指定了未實現的設定。 
-Web伺服器用作網關或代理伺服器時收到了無效回應。 
.1-CGI應用程式逾時。 
.2-CGI應用程式出錯。 application. 
-服務不可用。這個錯誤代碼為IIS6.0所專用。 
-網關逾時。 
-HTTP版本不支援。
FTP 

xx-肯定的初步答案 
這些狀態代碼指示一項操作已經成功開始,但客戶端希望在繼續操作新命令前得到另一個答复。 
重新啟動標記答案。 
服務已就緒,在nnn分鐘後開始。 
資料連線已打開,正在開始傳輸。 
檔案狀態正常,準備開啟資料連線。 

xx-肯定的完成答案 
一項操作已經成功完成。客戶端可以執行新指令。 200命令確定。 
未執行指令,網站上的指令太多。 
系統狀態,或系統幫助答案。 
目錄狀態。 
文件狀態。 
幫助訊息。 
NAME系統類型,其中,NAME是AssignedNumbers文件中所列的正式系統名稱。 
服務就緒,可以執行新使用者的請求。 
服務關閉控制連線。如果適當,請註銷。 
資料連線打開,沒有進行中的傳輸。 
關閉資料連線。請求的文件操作已成功(例如,傳輸文件或放棄文件)。 
進入被動模式(h1,h2,h3,h4,p1,p2)。 
使用者已登入,繼續進行。 
請求的文件操作正確,已完成。 
已建立「PATHNAME」。 

xx-肯定的中間答覆 
此指令已成功,但伺服器需要更多來自客戶端的資訊以完成對請求的處理。 331用戶名正確,需要密碼。 
需要登入帳戶。 
請求的文件操作正在等待進一步的資訊。 

xx-瞬態否定的完成答案 
此指令不成功,但錯誤是暫時的。如果客戶端重試指令,可能會執行成功。 421服務不可用,正在關閉控制連線。如果服務確定它必須關閉,將向任何命令發送此應答。 
無法開啟資料連線。 
Connectionclosed;transferaborted. 
未執行要求的檔案操作。文件不可用(例如,文件繁忙)。 
請求的操作異常終止:正在處理本機錯誤。 
未執行請求的操作。系統儲存空間不夠。 

xx-永久性否定的完成答案
 
此指令不成功,錯誤是永久性的。如果客戶端重試指令,將再次出現相同的錯誤。 500語法錯誤,指令無法辨識。這可能包括諸如命令列太長之類的錯誤。 
在參數中有語法錯誤。 
未執行指令。 
錯誤的指令序列。 
未執行該參數的指令。 
未登入。 
儲存檔案需要帳戶。 
未執行請求的操作。文件不可用(例如,未找到文件,沒有存取權限)。 
請求的操作異常終止:未知的頁面類型。 
請求的檔案操作異常終止:超出儲存分配(對於目前目錄或資料集)。 
未執行請求的操作。不允許的檔案名稱。 
常見的FTP狀態碼及其原因 
-FTP使用兩個連接埠:21用於傳送指令,20用於傳送資料。狀態代碼150表示伺服器準備在連接埠20上開啟新連接,發送一些資料。 
-指令在連接埠20上開啟資料連線以執行操作,例如傳輸檔案。此操作成功完成,資料連線已關閉。 
-客戶端發送正確的密碼後,顯示該狀態碼。它表示用戶已成功登入。 
-客戶端發送使用者名稱後,顯示該狀態代碼。無論所提供的使用者名稱是否為系統中的有效帳戶,都將顯示該狀態代碼。 
-指令開啟資料連線以執行操作,但該操作已取消,資料連線已關閉。 
-此狀態代碼表示使用者無法登錄,因為使用者名稱和密碼組合無效。如果使用某個使用者帳號登錄,可能鍵入錯誤的使用者名稱或密碼,也可能選擇只允許匿名存取。如果使用匿名帳戶登錄,IIS的配置可能拒絕匿名存取。 
-指令未被執行,因為指定的檔案不可用。例如,要GET的檔案並不存在,或試圖將檔案PUT到您沒有寫入權限的目錄。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn