当我试图在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()函数不是成功函数调用 请给我解决方案
答案 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()