Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在if-else条件下如何解决ajax调用?_Javascript_Jquery_Html_Ajax - Fatal编程技术网

Javascript 在if-else条件下如何解决ajax调用?

Javascript 在if-else条件下如何解决ajax调用?,javascript,jquery,html,ajax,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

使用
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',
    });
}
if(e.value==null | | e.value==“”| | e.value.trim().length<1){
//显示警报
警告(“标题不能为空”);
}否则{
警报(“其他”);
//仍在调用此ajax函数
$.ajax({
数据:{“bugid”:bugid,“value”:e.value,“colname”:type},
url:url,
方法:“POST”,
成功:函数(数据){
},
数据类型:“JSON”,
});
}

这是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);

这就是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);

只有当if失败时,控制才会进入else状态!如果条件为真,我不希望执行其他部分。。。现在ajax在这两种情况下都在运行,代码执行器没有任何问题。它应该毫无问题地工作。你会变得警惕,因为你在if和else子句中都有警惕。当e.value同时进入if和else(这是不可能的)时,它的值是多少?如果“if”条件为真,则无论如何else部分都不会执行。是的,每次if为真时都会出现复杂情况。。else也会被执行..:(…我试着对ajax部分进行注释,然后当if为true时,else没有执行。所以我猜ajax有问题。…bcoz不管if为true,它都在执行控件只有if失败时才会进入else状态!如果条件为true,我不希望else部分执行…现在ajax在这两个状态下都运行你的代码执行器没有问题。它应该可以正常工作。你会得到警报,因为你在if和else子句中都有警报。当e.value同时进入if和else时,它的值是多少(这是不可能的)如果“if”条件为真,Else部分无论如何不会执行。是的,每次if为真都会出现复杂情况。Else也会被执行:(…我试图对ajax部分进行注释,然后当if为真时,Else没有执行。因此我猜ajax有问题。。bcoz无论Else说什么,它都在执行