Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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 ajax beforeSend不';不能按流程执行_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript ajax beforeSend不';不能按流程执行

Javascript ajax beforeSend不';不能按流程执行,javascript,jquery,ajax,Javascript,Jquery,Ajax,发送前中的我的代码不起作用,成功在先。这很奇怪,应该是在发送之前执行。在显示我的加载之前,我尝试放置一个警报(),加载确实出现了。这里怎么了 您正在注释出}, $('.item').click(function(){ myFunc(); }); function myFunc(){ $.ajax({ success: function (data) { //call API }, beforeSend: function() { $('.loading').css({'display':'b

发送前
中的我的代码不起作用,成功在先。这很奇怪,应该是在发送之前执行。在显示我的加载之前,我尝试放置一个
警报()
,加载确实出现了。这里怎么了

您正在注释出
},

$('.item').click(function(){
myFunc();
});

function myFunc(){
$.ajax({
success: function (data) { //call API },
beforeSend: function() {  $('.loading').css({'display':'block!important'}); },
complete: function () { $('.loading').css({'display':'none !important'});},
})
}


杰森,请更新你的脚本

function myFunc{
    $.ajax({
        url: "http://abcd.com",
        beforeSend: function(){
            $('.loading').css({'display':'block!important'});
        }
    })
    .done(function(data){
        //Call API
        $('.loading').css({'display':'none !important'});
    })
}

我的想法是,在Ajax调用之前使加载div可见。再次使其在成功块中不可见。希望它能解决你的问题

 $('.item').click(function(){
    myFunc();
    });

    function myFunc(){
    $.ajax({
    success: function (data) { 
   //call API 
   },
    beforeSend: function() {  $('.loading').css({'display':'block!important'});
alert("Before Send Function Call");
 },
    complete: function () { $('.loading').css({'display':'none !important'});},
    })
    }

不要认为这是问题所在。。。OP表示成功正在运行,因此不存在语法问题,注释代码应该会导致语法错误error@ArunPJohny我认为答案的第二部分可能会解决他的问题。您是否尝试在发送前处理程序中添加警报,并查看它是否真的被执行……您如何知道正在调用
success
第一?请告诉我们您是如何确定的。@ArunPJohny beforeSend处理程序非常好。我将警报放在那里,不仅触发了警报,还触发了加载程序显示块。@JLRishe,因为我可以看到成功的数据回调的结果,但除了注释掉的
}、
和缺少
url
参数外,加载效果不好,你给我们看的代码没有明显的错误。您能给我们看一下您的实际代码吗?
success:function(){…}
没有根据添加警报弃用吗?你在开玩笑吗?这不是开玩笑的地方!您的问题是代码行成功:function(data){//call API},我只是添加了警报,因为您可以检查beforeSend函数执行是否正确。您还可以添加控制台来检查您在成功消息中获取的数据类型。
function myFunc{
    $.ajax({
        url: "http://abcd.com",
        beforeSend: function(){
            $('.loading').css({'display':'block!important'});
        }
    })
    .done(function(data){
        //Call API
        $('.loading').css({'display':'none !important'});
    })
}
 $('.item').click(function(){
    myFunc();
    });

    function myFunc(){
    $.ajax({
    success: function (data) { 
   //call API 
   },
    beforeSend: function() {  $('.loading').css({'display':'block!important'});
alert("Before Send Function Call");
 },
    complete: function () { $('.loading').css({'display':'none !important'});},
    })
    }
$('.item').click(function(){
    myFunc();
    });

    function myFunc(){
    // before calling ajax make it visible
    $('.loading').css({'display':'block!important'});
    $.ajax({
        type: "POST",
        url:"http://example.com/api/responce.php",
        data:{"u_email":email,"u_pwd":pass},
    }).success(function(res){
      // make it invisible
      $('.loading').css({'display':'none!important'});
      //do whatever with the responce from api
    }).error(function()(
      //handle ajax error if any
    ));