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

IT技术 javascript jquery ajax refresh
2021-03-13 23:35:02

ajax 调用后我无法停止刷新页面。我试过把 e.preventDefault(); 并返回假;同样,但我的页面再次令人耳目一新。

我不知道代码有什么问题还是什么。请帮助我在 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");
        });
    });
});
5个回答

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

我添加了它,我的页面仍然刷新。
2021-05-20 23:35:02

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]
});

这应该对你有用。

e.stopPropagation(); 在这里没用,你只需要防止默认行为;)
2021-05-02 23:35:02
大家好,感谢您的回复。我只提取了表单代码并提交了我的结果而没有刷新页面。我在同一页面中的其他代码存在一些问题。在我的研究过程中,我了解到如果代码中有任何问题,页面将在提交时刷新。对 ?
2021-05-02 23:35:02
哦,你是对的......这只是我捕获事件并防止它们发生通常行为的常用方法(我习惯于阻止它们冒泡)......我很快更新了我的答案;)
2021-05-10 23:35:02
@hugohabel 和其他人:对不起。你是对的,它应该是“提交”。但更改后也无法停止刷新。片刻后页面刷新。
2021-05-15 23:35:02

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

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

谢谢!仍然不太确定实时服务器认为我页面上的“更新”是什么,但是从实时服务器切换到静态服务器阻止了“回发”
2021-05-15 23:35:02
这在我的情况下有效,我使用实时服务器,我从没想过这是原因。我一关掉它就停了。
2021-05-18 23:35:02

我认为在点击功能后添加 return false 会阻止页面刷新

当您打开实时服务器扩展或类似刷新 html 页面的内容时,可能会发生这种情况

如何检查这一点的示例会很有用。
2021-05-03 23:35:02
这导致我的 vs 代码实时服务器扩展出现问题。
2021-05-15 23:35:02