jQuery documentation表示返回以下内容:
成功(data,textStatus, XMLHttpRequest的)功能
请求时要调用的函数 成功。该函数被传递 三个参数:返回的数据 从服务器,格式化 到'dataType'参数;一个字符串 描述状态;和 XMLHttpRequest对象。这是一个Ajax 事件
我只使用“data”参数。 “textStatus”的目的是什么?...当我将这个变量放入警报时(在成功函数内),我得到“未定义” 我可以从XMLHttpRequest获得什么?以及如何访问它?
由于
答案 0 :(得分:2)
您可以使用XMLHttpRequest
对象获取服务器发送的任何response headers。这对您控制的服务的用处有限,因为通常最好传回响应主体的JSON或XML中的所有信息,但它对于与您无法控制的接口的服务进行交谈可能很有用,标题中的信息。
textStatus
可用于错误回调,以告诉您请求的距离。但是为了成功它只会告诉你服务器是否返回了200 OK
响应(在这种情况下你应该得到'success'
)或者你是否得到304 Not Modified
并且从浏览器缓存返回了正文(在这种情况下它应该是'notmodified'
。这不太可能有用。
答案 1 :(得分:2)
根据this,textStatus的可能值为:
"timeout"
"error"
"notmodified"
"success"
"parsererror"
我相信如果您在success
回调中,您将只看到"success"
textStatus。不确定为什么会看到undefined
。
XMLHttpRequest包含您通常不需要的较低级别信息,例如用于发出Ajax请求的响应状态和参数。通常你所关心的只是data
参数,它是从XMLHttpRequest对象本身派生的。您可以在this页面找到XMLHttpRequest的其余方法和属性。
答案 2 :(得分:1)
testStatus引用了AJAX readyStates,您可以阅读here。我不太清楚为什么它会像未定义的那样发生。我不是100%习惯使用jQuery的AJAX,但是在手工制作的ajax调用期间,你的返回函数将被调用多次,状态代码不同。
XMLHttpRequest为您提供了进行异步调用的实际对象。