#php #javascript #jquery #sql
#php #javascript #jquery #sql
Вопрос:
Вот мой код
$("#cancel").click(function(){
$("#destroy").load("../../ajax/destroyroom.ajax.php");
window.location = "game.php";
})
Я попробовал это в Chrome, и это работает
цель destroyroom.ajax.php чтобы удалить определенную запись в базе данных, я загружаю ее в DIV, чтобы она удалила запись, а затем она будет перенаправлена на другую страницу с использованием окна.местоположение, но .функция загрузки не работает в fire, она не удалила запись в базе данных.
есть идеи и советы?
Спасибо!
Комментарии:
1. Вы получаете какие-либо ошибки в консоли или firebug?
Ответ №1:
Попробуйте это вместо этого (непроверено):
$("#cancel").click(function(){
$("#destroy").load("../../ajax/destroyroom.ajax.php", function() {
window.location = "game.php";
});
})
Это перенаправит пользователя после завершения загрузки.
Редактировать: Также попробуйте указать load()
функции полный путь к вашему php-файлу. например. example.org/ajax/destroyroom.ajax.php
Комментарии:
1. Что это было, мой пример кода или подсказка с полным путем? Я просто спрашиваю о других.
2. 1 для быстрого решения. обратите внимание, что @OP
window.location
не может быть установлен непосредственно во всех браузерах.
Ответ №2:
Во-первых, вы должны использовать:
window.location.href = "game.php";
чтобы перенаправление работало во всех браузерах.
2-й вызов перенаправления в полном обработчике:
$("#cancel").click(function(){
$("#destroy").load("../../ajax/destroyroom.ajax.php", function() {
window.location.href = "game.php";
});
})
Если вы вызываете его напрямую, после вызова ajax, это может быть нарушено, поскольку перенаправление будет выполнено непосредственно после вызова ajax.
3-й: вызов ajax может быть кэширован. Вы можете отключить кэш глобально или напрямую с помощью $.ajax()
и установить опцию cache:false
вместо load()
.