在继续执行默认操作之前执行AJAX请求 [英] Perform AJAX request before continuing with default action

查看:284
本文介绍了在继续执行默认操作之前执行AJAX请求的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个基本的AJAX请求,如下所示:

I have a basic AJAX request like so:

    $.ajax({
        url: 'check_password.php',
        type: 'post',
        data: 'password='+password,
        dataType: 'json',
        success: function(json) {
            if (json['success']) {
               //Continue with default action
            }else{
                //Password is invalid, stop the script and return an error
                preventDefault();
                $(".error").show();
            }
        }

推荐答案

我建议改为完全阻止默认设置,然后在表单节点上使用.submit()提交表单(如果是表单),从而绕过jQuery事件处理程序.

I'd suggest instead preventing the default completely, then submitting the form (if it is a form) by using .submit() on the form node, thus bypassing the jQuery event handler.

$("#myform").on("submit",function(event){
    event.preventDefault();
    var form = this;
    $.ajax({
        url: theurl,
        type: "POST",
        data: thedata
        dataType: "json"
    }).done(function(json){
        if (json.success) {
            form.submit();
        }
        else {
            $("#error").show();
        }
    });    
});

这篇关于在继续执行默认操作之前执行AJAX请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆