请问下:
$.ajax()里的success和error是在上面时候触发的???
亲,简单的说Ajax请求通过XMLHttpRequest对象发送请求,该对象有四个状态(readyState):
0-未初始化
1-正在初始化
2-发送数据
3-正在发送数据
4-完成
当XMLHttpRequest.readyState为4时,表示请求已经完成可以得到响应结果。当然success和error方法还是根据响应状态码来触发。当XMLHttpRequest.status为200的时候,表示响应成功,此时触发success().其他状态码则触发error().
Jquery的$.ajax()函数只是封装了ajax请求,本质上还是通过JS XMLHttpRequest内置对象来处理的。
ajax调用后台一般是异步的,success和error相当于回调函数。
当后台返回成功结果时,会触发success
如果后台返回错误结果时,触发error
[code="java"]他们都是 分别在 url 请求之后 去执行的回调函数
success 请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态
function (data, textStatus) {
// data could be xmlDoc, jsonObj, html, text, etc...
this; // the options for this ajax request
}
而 error 是在 当你的请求 调用失败的时候去执行
(默认: 自动判断 (xml 或 html)) 请求失败时将调用此方法。这个方法有三个参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。
function (XMLHttpRequest, textStatus, errorThrown) {
// 通常情况下textStatus和errorThown只有其中一个有值
this; // the options for this ajax request
}[/code]
success是ajax成功是触发 详情见:[url]http://api.jquery.com/ajaxSuccess/[/url]
error是ajax失败时触发 详情见:[url]http://api.jquery.com/ajaxError/[/url]
他们都对应你请求url的响应结果。
success url请求成功后的回调函数
error (默认: 自动判断 (xml 或 html)) 请求失败时调用此函数。有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"timeout", "error", "notmodified" 和 "parsererror"。
当ajax请求返回状态码: 200或304的时候,回调success
其它情况回调error
都是请求发送结束之后回调。