如果在if条件下如何解决ajax调用?

时间:2016-01-05 09:15:47

标签: javascript jquery html ajax

使用if-else条件尝试使用jQuery Ajax调用API。

无法弄清楚为什么我的ajax函数仍被调用,即使它在else语句中也是如此。

这是我的代码:

if (e.value == null || e.value == ""|| e.value.trim().length < 1) {
    // Alert is shown
    alert("title cannot be null");
} else {
    alert('else');
    // Still calling this ajax function
    $.ajax({
        data: {"bugid":bugid,"value":e.value,"colname":type},
            url: url,
            method: 'POST',
            success: function(data) {   
        },
        dataType: 'JSON',
    });
}

1 个答案:

答案 0 :(得分:0)

这是JavaScript的异步特性。所以你必须强制同步它,你必须创建一个单独的函数,它本身将包含ajax调用。请参阅下文以使函数同步。

function foo(params, callback){
    // do stuff with params

    // move on to next step
    callback(params)
}

function bar(params, callback){
  // do stuff with params

  // move on to next step
  callback(params)
}

foo(1, bar);