在调用ajax调用之后,页面首先得到回发

时间:2012-06-18 04:47:50

标签: jquery ajax

我的脚本中有一个jquery函数

function test(){

$.ajax({
                                    url: '/Customer/test' + '?clientId=' + val,

                                    success: function (available) {
                                        alert(available + 'success i am in the ajax');
                                        if (available == 1) {
                                            alert('no postback');
                                            return false;
                                        }
                                        else if (available == 2) {
                                            alert('no postback');
                                            return false;
                                        }
                                        else {
                                            alert('Ok,postback');
                                            return true;
                                        }

                                    }
                                });

}

我称之为

onclick="test();"按钮

问题是,在调用ajax调用之后,页面首先得到回发。 但是首先应该在posback之后调用ajax调用

2 个答案:

答案 0 :(得分:3)

在ajax调用中使用 async:false

尝试以下代码,

var output = $.ajax({   
                    type: "POST",                                  
                    url: "/Customer/test",
                    async: false,
                    data: "clientId="+val                                
                });    
if (output == 1) {
                  alert('no postback');
                  return false;
                  }
else if (output == 2) {
       alert('no postback');
       return false;
    }
else {
     alert('Ok,postback');
     return true;
    }                                    } 

答案 1 :(得分:0)

尝试更改onclick:

onclick="javascript:return test();"

然后在其中返回false。