Как я могу обновить страницу через jQuery и убедиться в наличии соединения? - PullRequest
3 голосов
/ 07 мая 2010

Я играл с .load () и .ajax (), но до конца не дошел. Вот что мне нужно: Каждую минуту функция должна проверять, может ли она загрузить определенную страницу. если соединение установится успешно, я хочу обновить страницу, если нет, ничего не произойдет, сценарий будет повторен позже.

Я использую плагин jQueryTimers. пока это мой код:

//reload trigger
$(document).everyTime('60s', 'pagerefresh', reloadPage, 0, true);

//refresh function
function reloadPage() {
    $.ajax({
        url:'index-1.php',
        type:'HEAD',
        success: location.reload(true)
        })
}

Понятия не имею, как сказать jQ, чего я хочу. любой намек приветствуется.

Ответы [ 2 ]

9 голосов
/ 07 мая 2010

При написании success: location.reload() вы немедленно вызываете reload и устанавливаете для параметра success значение, которое возвращает reload (то есть undefined)

Вам необходимо использовать анонимную функцию, которая вызывает reload в качестве обратного вызова success, например:

    success: function() { location.reload(true); }
0 голосов
/ 11 мая 2010

благодаря SLaks, jQuery пытается перезагрузиться сейчас.

однако, если я отсоединяю интернет-кабель от ПК, он все равно очищает экран и не вызывает ошибку. вот моя новая попытка:

$.ajax({
        url:'index.php',
        type:'HEAD',
        success: function() { location.reload(true); },
        error: function() {$('DIV').append('<p>ERROR</p>');}
        })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...