2015-02-11 3 views
1

Я динамически загружаю таблицу из базы данных в php. Один столбец в таблице - флажки. В заголовке столбца onclick я удаляю проверочные записи из БД. В конце функции я вызываю location.reload() в надежде обновить таблицу, но этого не произойдет. Если я вручную удалю F5, он работает так, как ожидалось. Как я могу загрузить таблицу, пожалуйста?перезагрузка страницы после выполнения функции JS

+1

Вместо этого используйте Ajax. 'location.reload()' просто перезагружается из кеша браузера, а не снова ударяет по серверу. – developerwjk

+1

У вас есть примеры кода? Это звучит как работа для ajax. – Jonathan

+0

location.reload (true) не работает. как использовать ajax? Я новичок в веб-разработке. Спасибо за минусовые баллы за мой вопрос! – Jana

ответ

3
function function_name() { 
    $.ajax({ 
     url  : "/php/data/get_table_data.php", 
     type : "get", 
     data : { 
      "arg1" : "some_arg", 
      "arg2" : "another_arg" 
     }, 
     success : function(data) { 
      /* Fill table with contents of "data" */ 
     }, 
     error : function() { 
      /* Something goes wrong… */ 
     } 
    }); 
}; 

Это небольшой пример того, как использовать Ajax с библиотекой jQuery.

Когда вы используете Ajax, вам даже не нужно обновлять всю страницу, но данные в таблице получаются и обновляются в фоновом режиме. Среднее:; нет отстающих пользовательских интерфейсов, обновление страницы.

1

Согласно

https://developer.mozilla.org/en-US/docs/Web/API/Location.reload

вы должны пройти true в качестве аргумента location.reload(), чтобы подавить кэширование.

+0

Я пробовал это, без разницы – Jana

+0

Не могли бы вы разместить обработчик onclick? Я подозреваю, что происходит то, что перезагрузка запрашивается до того, как код удаления на сервере завершен. – radiaph

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