我想访问返回statusCode为200/401等。我该怎么做?
var poster=$.post(url,
{nickname:name, email:mail},function(data) {
alert('Inside poster done');
});
alert(poster.statusCode);
poster.done(function(data){
alert(data);
});
我已经尝试了How do I get HTTP error response code in Jquery POST(xhr.status)中给出的答案,它只返回0.实际响应是401,这是在Web控制台中显示的。访问返回状态的正确方法是什么POST命令?
答案 0 :(得分:1)
虽然成功和错误回调是从响应代码生成的,但您也可以这样做。看这里http://api.jquery.com/jQuery.ajax/
$.ajax({
statusCode: {
404: function() {
alert("code 404");
}
200:function(){
alert("code 200");
}
}
});
答案 1 :(得分:1)
如果通过“返回”表示“来自服务器的响应中的”,则可以访问回调中的值,尤其是.always()
所以它被称为是否有错误:
poster.always(function(data){
alert('status: ' + poster.status);
});
在这些回调之外,当请求仍在等待完成时,将评估该语句。因此,poster.status
将是其默认值0
。
但是,如果你的意思是:
return poster.statusCode;
然后我的意见仍然有待申请。你不能这样做,并通过异步请求获得实际值。
有关详情,请参阅How do I return the response from an asynchronous call?。它侧重于responseText
,但status
几乎同时设置。