如何在ajax调用后停止刷新页面?

Pra*_*epb 26 javascript ajax jquery refresh

在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");
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

isi*_*dat 31

type="button"按钮添加属性解决了我的问题.否则它被解释为提交操作.


Seb*_*ork 21

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]
});
Run Code Online (Sandbox Code Playgroud)

这应该为你做的伎俩.

  • `e.stopPropagation();`这里没用,你只需要防止默认行为;) (4认同)

fan*_*are 12

今晚早些时候这发生在我身上,我找到了解决这个问题的方法 - 这可能是一个长期的尝试,但我意识到我的问题是什么,并认为这可能会帮助将来有人处理这个问题。

live-server如果新文件出现在同一工作文件夹中,您是否使用本地或其他形式的脚本智能刷新本地代码?如果是这样 - 页面刷新不是因为您的代码,而是因为您调用的任何 ajax 操作了您正在处理的文件夹,导致页面“更新”。


小智 6

我认为只需在点击功能上添加return false就可以阻止页面刷新