jQuery documentation表示返回以下内容:
success(data,textStatus,XMLHttpRequest)功能请求成功时要调用的函数 . 该函数传递三个参数:从服务器返回的数据,根据'dataType'参数格式化;描述状态的字符串;和XMLHttpRequest对象 . 这是一个Ajax事件 .
我只使用“数据”参数 . “textStatus”的目的是什么?...当我将这个var放入警报时(在成功函数内),我得到“未定义”我可以从XMLHttpRequest获得什么?以及如何访问它?
谢谢
3 回答
您可以使用
XMLHttpRequest
对象获取服务器发送的任何response headers . 对于您控制的服务,这是有限的,因为它可以控制,将有用的信息放在 Headers 中 .textStatus
可以用于错误回调,以告诉您请求到达了多远 . 但是为了成功它只会告诉你服务器是否返回200 OK
响应(在这种情况下你应该得到'success'
)或者你是否得到304 Not Modified
而且从浏览器缓存中返回了主体(在这种情况下它应该是'notmodified'
. 这是高度的不太可能有用 .根据this,textStatus的可能值为:
我相信如果你在
success
回调中,你将只看到"success"
textStatus . 不确定为什么你会看到undefined
.XMLHttpRequest包含您通常赢得的较低级别信息't need, like the response state and parameters used to make the Ajax request. Usually all you'参数,该参数是从XMLHttpRequest对象本身派生的 . 您可以在this页面找到XMLHttpRequest的其余方法和属性 .
testStatus引用了AJAX readyStates,您可以阅读here . 我不太清楚为什么它会像未定义的那样发生 . 我不是100%习惯使用jQuery的AJAX,但是在手工制作的ajax调用期间,你的返回函数将被调用多次,具有不同的状态代码 .
XMLHttpRequest为您提供了进行异步调用的实际对象 .