2013-07-28 6 views
-1

Я хочу получить статус статуса возврата как 200/401 и т. Д. Как я могу это сделать?Как получить статус ответа команды POST jquery?

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.Thought фактический ответ 401, который был показан в сети console.What правильный путь доступа статус возврата команды POST?

+2

Не работает, как в ...? Сбои? Возвращает неправильное значение? Что-нибудь в консоли Javascript? –

+0

@JoachimIsaksson: возвращает 0 на консоли. – Aravind

+0

@JoachimIsaksson: Я работал на последнем примере в этой документации: http: //api.jquery.com/jQuery.post/ – Aravind

ответ

1

хотя успешный и обратный звонок ошибки генерируется из кода ответа, но вы можете сделать это так же. смотрите здесь http://api.jquery.com/jQuery.ajax/

$.ajax({ 
statusCode: { 
404: function() { 
alert("code 404"); 
} 
200:function(){ 
alert("code 200"); 
} 
} 
}); 
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 установлен примерно в то же время.

+0

Плакат. Всегда показывает 0 как статус. Фактический статус 401. Почему это так? – Aravind

Смежные вопросы