繁体   English   中英

jQuery在表单submitHandler和奇怪的重定向上等待ajax调用

[英]jQuery await ajax call on form submitHandler and strange redirect

function populateAndSend() {
    var _url = "..." + var1 + var2 + var3
    $.ajax({
        type: 'get',
        url: _url
    })
};

$('#tryitForm').validate({
    rules: {
        ...
    },
    submitHandler: function (form) {
        $.when(populateAndSend()).then(form.submit()); <<< does not work
    }
});

2个问题, when().then()似乎不起作用,当触发form.submit() ,它会将我重定向回我的页面,但是将var1var2var3作为参数添加到我的页面,所以让我说我的网站网址是http:// localhost / home / index它会将我重定向到http:// localhost / home / index?var1 = xxx&var2 = xxx&var3 = xxx
我不明白为什么会这样?

最终版本:

// function call, to pass message to telegram bot
function populateAndSend() {
    var _url = "..." + var1 + var2 + var3

    return $.ajax({
        type: 'get',
        url: _url
    })
};
// form validation
$('#tryitForm').validate({
    rules: {
        xxx
    },
    submitHandler: function (form) {
        populateAndSend();
        return false;
    }
});

您不需要在提交处理程序中调用form.submit() ,表单提交是使用$.ajax() 改成:

$('#tryitForm').validate({
    rules: {
        ...
    },
    submitHandler: function () {
        populateAndSend();
        return false;
    }
});

return false; 在提交处理程序中告诉验证插件不要进行正常的表单提交。

暂无
暂无

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

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