jquery函数在ajax成功函数中不起作用

时间:2017-01-21 06:21:38

标签: php jquery ajax function

当我试图在ajax成功函数中调用jquery函数但它不是在ajax函数中调用 这是我的功能 例如,jquery函数位于

之下
function hello()
{
  alert ("hello");
}

我的ajax代码在

之下
$("#loadmystatus").on('click','#removestatus',function(event){
        var statusid=$(this).attr('data-statusid');
        var flag="removestatus";
        var URL='changeuserstatus_ajax.php';
        var userid=$(this).attr('data-userid');            
        datastring='userid='+userid+'&statusid='+statusid+'&flag='+flag;
        $.ajax({
            type:"POST",
            url:URL,
            data:datastring,
            success:function(html){
              //dont call this function
               hello();
            }            
        });
    });

但是这个hello()函数不是成功函数调用 请给我解决方案

3 个答案:

答案 0 :(得分:0)

在ajax' complete上调用函数:像这样......

 $.ajax({
            type:"POST",
            url:URL,
            data:datastring,
            success:function(html){
              //dont call this function

            },
            complete:function(html){
              hello();
            }            
        });

或使用ajax' s .done

 $.ajax({
            type:"POST",
            url:URL,
            data:datastring,
            success:function(html){
              //dont call this function

            }     
        }).done(function(){
            hello();
        });

有关详情,请参阅此处http://api.jquery.com/jquery.ajax/

答案 1 :(得分:0)

尝试查看ajax是否成功完成其请求或使用错误回调使用代码

$("#loadmystatus").on('click','#removestatus',function(event){
        var statusid=$(this).attr('data-statusid');
        var flag="removestatus";
        var URL='changeuserstatus_ajax.php';
        var userid=$(this).attr('data-userid');            
        datastring='userid='+userid+'&statusid='+statusid+'&flag='+flag;
        $.ajax({
        url:URL,
        data: { query: encryptData('{"id":'+id+'}')},
        method:"post",
        data:datastring,
        success: function (data) {
            /* alert((data))/**/;
            hello();
        },
        error: function (){
            alert('Error occurred');
        }
    });
});

答案 2 :(得分:0)

你也可以使用jquery POST

endOfStream()