我无法在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");
});
});
});
答案 0 :(得分:28)
向按钮添加type="button"
属性解决了我的问题。否则它被解释为提交操作。
答案 1 :(得分:17)
id #loginForm
是否指向表单?如果是,则需要收听提交事件而不是单击。如果您确实需要侦听click事件,则必须将事件绑定到提交按钮或触发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 :(得分:6)
我认为只需在点击功能上添加return false就会停止刷新页面
答案 3 :(得分:1)
今晚早些时候发生了这件事,我找到了解决这个问题的方法 - 这可能是一个很长的镜头,但我意识到我的问题是什么,并认为这可能有助于将来处理这个问题。
您是否在本地使用live-server
或其他形式的脚本,如果新文件出现在同一工作文件夹中,则智能刷新本地代码?如果是这样 - 页面刷新不是因为您的代码,而是因为您调用的任何ajax操纵了您正在使用的文件夹,导致页面“更新”。
答案 4 :(得分:1)
当您打开实时服务器扩展名或类似刷新HTML页面的内容时,就会发生这种情况。