繁体   English   中英

在表单提交上执行ajax请求,不要等待响应

[英]Execute ajax request on form submit and don't wait for response

我想在用户尝试提交表单时提出AJAX请求。 但是,我不想等待响应(我只想触发脚本)而仍然立即提交表单(或重定向用户)。

我试图以这种方式(通过jQuery):

$(document).ready(function()
{
    $("#form").submit(function(e)
    {
        // save object reference
        var form = this;

        // prevent form submit
        e.preventDefault();

        // trigger ajax request
        $.ajax({
            url: 'ajax.php',
            data: { ... },
            cache: false
        });

        // submit form
        form.submit();

        // return false just in case
        return false; 
    });
});

但这是行不通的,因为如果随后立即提交表单(通过form.submit() ),则浏览器实际上不会发送AJAX请求。

我在这里有点困惑……真的没有办法触发AJAX请求并随后立即重定向浏览器吗?

看来您在这里创建了一个无限循环。 您正在阻止Submit事件,并在最后再次提交它,但是当您将函数绑定到表单的提交时,将一遍又一遍地调用它。 相反,尝试使用Ajax状态,例如成功和完成; 成功后,您提交数据,完成后,您将重定向页面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM