Доброго дня. Полдня вожусь и не могу разобраться.
Суть такая. Ajax отправляет несколько значений на сервер. Сервер взаимодействует с БД и выдает ответ.
Ajax должен принять ответ , выдать алерт, что все хорошо, и после нажатия кнопки Ок, перезагрузить страницу.
Почти 100% нажатия кнопки скрипт отрабатывает полностью, но
Примерно 50% выскакивает alert("Ошибка выполнения"), хотя скрипт все отрабатывает правильно.
Периодически страница перезагружается прежде появления сообщения.
Если быстро нажимаешь кнопку- видимо сервер не успевает отправить ответ и снова сообщение с ошибкой, хотя обработчик срабатывает.
Подскажите как сделать правильно? Пришел положительный ответ, только потом страница перезагрузилась. Или еще как нибудь.
function send_market_archiv(idorder,idmarket,idarchive,iduser){
$.ajax({
type: "POST",
url: "send_market_archive.php",
data: ("idorder="+idorder+"&idmarket="+idmarket+"&idarchive="+idarchive+"&iduser="+iduser+""),
dataType: "html",
cashe: false,
success: (function(data) {
alert(data);
}),
error: (function() {
alert("Ошибка выполнения");
location.reload();
}),
});
location.reload();
};
send_market_archive.php
<?php
if ($_POST){
$idorder = $_POST['idorder'];
$idmarket = $_POST['idmarket'];
$idarchive = $_POST['idarchive'];
$iduser = $_POST['iduser'];
.......
работа с БД
......
echo "Заказ успешно перенесен в ваш архив";
exit(); //завершаем работу скрипта
}
?>