Как остановить обновление страницы после вызова ajax?
Я не могу остановить обновление страницы после вызова ajax. Я попытался, поставив e.preventDefault(); и вернуть false; но опять же моя страница освежает.
Я не знаю, в чем проблема с кодом или чем-то еще. Пожалуйста, помогите мне остановить обновление страницы после ajax-звонка. решение этой проблемы было бы большой помощью для меня. Спасибо заранее.
Вот мой код:
$(document).ready(function() {
$('#loginForm').on('click', function(e) {
e.preventDefault();
var formData = {
'uname' : $('#uname').val(),
'pwd' : $('#pwd').val()
};
$.ajax({
type : "POST",
url : "getresults.php",
data : formData
}).done(function(data) {
alert(data+"This is working");
}).fail(function(data) {
alert("This is not working");
});
});
});
Ответы
Ответ 1
Указывает ли id #loginForm
на форму? Если да, вам нужно прослушать событие отправки, а не щелкнуть. Если вам действительно нужно прослушать событие клика, вам необходимо привязать событие к кнопке отправки или тому, что вызывает form.submit()
.
Попробуйте что-то вроде этого:
$('#loginForm').on('submit', function(e) {
e.preventDefault();
e.stopPropagation(); // only neccessary if something above is listening to the (default-)event too
[YOUR CODE GOES HERE]
});
Это должно сделать трюк для вас.
Ответ 2
Добавление атрибута type="button"
к кнопке разрешило мою проблему. В противном случае это интерпретировалось как операция отправки.
Ответ 3
Я думаю, что просто добавление return false после того, как функция щелчка остановит страницу от обновления
Ответ 4
Это происходило со мной раньше сегодня вечером, и я нашел свой путь к этому вопросу. Это может быть длинный выстрел, но я понял, что моя проблема и что это может помочь кому-то в будущем справиться с этим.
Используете ли вы что-то вроде live-server
локально или какую-либо другую форму script, которая интеллектуально обновляет локальный код, если новые файлы появляются в одной рабочей папке? Если это так - страница обновляется не из-за вашего кода, а потому, что любой аякс, который вы вызывали, управляет папкой, в которой вы работали, в результате чего происходит обновление страницы.