#jquery #ajax #timeout
#jquery #ajax #тайм-аут
Вопрос:
Я должен отобразить ошибку на запрошенной странице, если вызов AJAX не достигает сервера.
Я не знаю точного Ajax-кода для этого.
Код, который я пробовал до сих пор, является:
$.ajax({
type: 'get',
url: '/tasks',
timeout: (5000),
success: function(){
alert('success');
},
error: function(objAJAXRequest, strError){
abort("Error! Type: " strError);
}
});
Когда я завершаю работу сервера (после загрузки самой страницы!), этот AJAX-вызов должен отображать сообщение об ошибке, а при перезапуске сервера он должен правильно ответить на запрос.
Комментарии:
1. Вы имеете в виду, что вы останавливаете сервер, он должен выдать ошибку, затем вы запускаете сервер снова, и он показывает сообщение об успешном завершении, без повторного запуска вызова? Я не думаю, что это возможно.
2. Чтобы добавить к тому, что сказал Феликс, запрос AJAX отправляется в местоположение на том же сайте, поэтому, если сервер остановлен, веб-сайт все равно не будет виден? Пожалуйста, поправьте меня, если я неправильно понял, что вы имеете в виду.
3. может быть сбой, я просто хочу отправить сообщение об ошибке на запрошенную страницу в случае недоступности сервера
4. Вы должны написать свой собственный метод повторной попытки сервера, если исходный запрос завершается неудачей, потому что Jquery этого не предоставляет.
Ответ №1:
Просто мое теоретическое предположение, вы можете сделать это с помощью функции setTimeout
$(document).ready(function() {
setTimeout( ajaxPoll, 5000);
});
function ajaxPoll(){
$.ajax({
type: 'get',
url: '/tasks',
success: function(){
$('alertWindow').hide();
},
error: function(objAJAXRequest, strError){
$('alertWindow').show();
}
});
}
Также это означает, что вы не можете использовать оповещение модального окна, это должен быть только элемент DOM.