2013-05-20 3 views
0

У меня есть вопрос о запросе JQuery.ajax. В двух словах я есть Ajax вызов, как следующий:Определите проблемы сети во время запроса ajax с помощью JQuery

$.ajax({ 
     url: <MY_URL>, 
     type: "POST", 
     data: <MY_DATA>, 
     dataType: "json", 
     responseType: "json", 
     contentType: 'application/json; charset=utf-8', 
     success: doOnSuccess, 
     error: doOnError, 
    }); 

До сих пор так хорошо. Он работает в каждом случае, но когда нет связи, в таком случае снифер сказал, что запрос немедленно провалился, но ничего не вызвано, чтобы уведомить меня, и веб-страница остается в режиме загрузки на неопределенный срок.

Чтобы повторить, я должен сообщить своим пользователям, что запрос не будет выполнен из-за отсутствия соединения. Не могли бы вы помочь мне в этом. Имея способ достичь статуса соединения, прежде чем отправлять запрос, также будет хорошо. (Я видел, что в этом нет кросс-браузерного решения, и я не могу реализовать механизм keep-alive, устанавливающий тайм-аут в запросе ajax).

Заранее спасибо

С уважением

ответ

0

Может быть, вы можете попробовать добавить timeout к $.ajax вызова, то вы можете подсказать сообщение об ошибке в error обратного вызова.

Пожалуйста, проверьте http://api.jquery.com/jQuery.ajax/.

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