通过jquery验证插件进行表单验证后调用AJAX

时间:2015-03-20 10:51:14

标签: jquery ajax jquery-validate

我关注代码

submitHandler: function(form) {
                    $.ajax({
                        url:        GLOBAL_URL + '/searching',
                        data:       $(form).serialize(),
                        type:       'POST'
                    });

                    window.location.href = GLOBAL_URL + '/complete';
                }

我尝试做的是在验证后提交表单时,我希望用户在后台搜索时重定向到其他页面。

但它没有。它等待ajax完成请求然后重定向。

这个ajax在jquery验证插件中运行良好,但现在在里面。我还尝试设置async: true。但没有帮助。

我不希望用户在搜索时等待。我只想在用户提交表单并且成功触发ajax后立即重定向用户。

帮助我。感谢

4 个答案:

答案 0 :(得分:4)

您可以使用成功回调进行重定向。

$.ajax({
    url: GLOBAL_URL + '/searching',
    data: $(form).serialize(),
    type: 'POST'
}).done(function () {
    window.location.href = GLOBAL_URL + '/complete';
});

答案 1 :(得分:0)

试试这个,

$.ajax({
    url:        GLOBAL_URL + '/searching',
    data:       $(form).serialize(),
    type:       'POST',
    success:     function(response){ // called when you get the response from server
        // you can check the response and redirect your page accordingly
        // for success or error response
        window.location.href = GLOBAL_URL + '/complete';
    }
});                    

答案 2 :(得分:0)

$("#submit_fund").click(function(){
    $('#frm_add_fund').ajaxForm({
        dataType:  'json',
        success:   test
    });
});

function test(data) {
  if(data.success == 0 ){

  //show the validation error for particular fields//

  }else if( data.success == 1){
         var url = data.url;
    window.location = url.replace('&&', '&').replace('?&', '?');
  }
 }

答案 3 :(得分:-1)

删除整个submitHandler块并分别为按钮

添加单击处理程序
$("#yousubmitbtnid").click (function() {

    If ($("#yourformid").valid ()){

                    .ajax({
                        url:        GLOBAL_URL + '/searching',
                        data:      $("#yourformid") .serialize(),
                        type:       'POST'
                    });

                    window.location.href = GLOBAL_URL + '/complete';
    }

});

如果出现问题,请将输入类型提交更改为按钮 抱歉压痕不好。因为我正在使用移动设备