Intereting Posts
взрывать и обрабатывать динамические массивы php PHP DOM loadHTML () метод необычное предупреждение WooCommerce Получить элемент мета из всех ордеров Подключение базы данных PHP OOP Как создать образ веб-страницы в PHP? как отсортировать многомерный массив с помощью внутреннего ключа доступ к статическим методам с использованием имени класса переменной (PHP) MailChimp API PHP – Добавить в группу интересов Как объединить 2 ассоциативных массива в php, чтобы мы не перезаписывали любые повторяющиеся записи во всех случаях? Почему php не жалуется при ссылке на несуществующую переменную? Как перенаправить URL-адрес после определения некоторых переменных с помощью curl_init Как установить PHP для загрузки файла в конкретный каталог? вставить значение без установки первичного ключа Замена глобальных переменных, как и почему Как эхо строк, имеющих в нем определенную переменную из базы данных

Перезагрузить страницу после успеха ajax

У меня возникли проблемы с перенаправлением / перезагрузкой после успешного вызова ajax. Вот ситуация:

У меня есть элемент для удаления, сохраненный в массиве. Когда я нажимаю кнопку, он вызывает файл PHP через ajax, и после успеха мне нужно перезагрузить страницу. Но у меня есть некоторые проблемы с этим. Я искал в Интернете и не нашел рабочего решения.

У меня есть файл PHP, который проходит через массив, удаляющий элемент за элементом из базы данных.

foreach($arrayVals as $key=>$val) { //bla bla } 

Кроме того, у меня есть часть jQuery:

 $("#button").live("click",function(){ $.ajax({ url, data, type... not important success: function(html){ location.reload(); } }); }); 

Я имею в виду, что код работает, но не хорошо. Он удаляет элементы, но не все из них, а затем перезагружает страницу. Например, если у меня есть 10 элементов для удаления, они удаляются как 6-7, а 3-4 элемента остаются восстановленными.

Он действует так же, как перезагружает страницу слишком рано, например, PHP-файл не имеет достаточного времени для обработки всего: D

    BrixenDK прав.

    .ajaxStop() выполняемый при завершении всего вызова ajax. Это лучшее место для размещения вашего обработчика.

     $(document).ajaxStop(function(){ window.location.reload(); }); 

    Вы используете ajaxStop для выполнения кода при завершении ajax:

     $(document).ajaxStop(function(){ setTimeout("window.location = 'otherpage.html'",100); }); 

    используйте эту страницу перезагрузки

     success: function(data){ if(data.success == true){ // if true (1) setTimeout(function(){// wait for 5 secs(2) location.reload(); // then reload the page.(3) }, 5000); } }