我试图找出我可以传递给jQuery ajax调用的参数。
我习惯写的是:
$.ajax({
....
success: function(response) {
// put callback here
}
....
});
所以这是我的问题:
显然"响应"变量我输入成功函数只收回服务器从ajax调用发回的任何内容。有没有办法发回多个变量?类似的东西:
...
success: function(response,httpStatus,whateverElse) {
}
...
或者,是否有其他方法可以获取http响应代码?
感谢无论谁回答这个问题!
答案 0 :(得分:5)
您可以在response
第三个参数或status code
的第一个参数上获得success'
' complete
,如下所示:< / p>
$.ajax({
success: function(data, textStatus, xhr) {
console.log(xhr.status);
},
complete: function(xhr, textStatus) {
console.log(xhr.status);
}
});
答案 1 :(得分:2)
除了@Kokizzu之外,您还可以查看jQuery API网站,了解哪些参数传递给其他函数http://api.jquery.com/jquery.ajax/。
另一种方法是,当没有可用的文档时,我找到方便计算出传递的参数是:
success: function() {
console.log(arguments);
}
这会将调用它时传递给该函数的所有参数记录到控制台。
答案 2 :(得分:0)
您也可以让服务器在php中发回json json_encode
:
<强>腓:强>
$array['status'] = 0;
$array['foo'] = 'bar';
json_encode($array);
<强>的Ajax:强>
$.ajax({
...
success: function (data) {
console.log(data);
}
});
然后显然你可以让你的回调处理那些变量。
答案 3 :(得分:0)
$.ajax({
success: function(data, status, xhttp) {
console.log(status + ": " + data);
},
error: function(data, status, xhttp) {
console.log(status + ": " + data);
}
});