我试图在success和complete上一起使用,但它不起作用,如果我没有使用dataType: "jsonp",那么Success work如果我包含了这一点,那么在complete works上
var reRank=false;
function reAssign() {
if (!reRank){
reRank = true;
$.ajax({
type : "POST",
dataType: "jsonp",
data : {
"id" : $("#boxId").val(),
"value" : $("#hidValue").val()
},
url : "/ajax/save",
complete : function() {
reRank = false;
},
success : function(data) {
var obj = JSON.parse(data);
$.fancybox(data, {
closeClick : false,
helpers : {
overlay : {
closeClick : false
}
}
});
alert(obj.result);
}
});
}
}// end reAssign发布于 2014-11-15 14:29:19
我建议您通过开发人员工具的Network选项卡来跟踪ajax请求。还可以添加以下内容来跟踪错误。
...
error: function ( error ) {
console.log(JSON.parse(error));
}
...最有可能的是,请求会因为服务器端的一些问题而失败。如果是这种情况,success将永远不会被调用,但是complete (无论ajax请求是否出错,只要ajax请求完成就会被调用)总是会被调用。
https://stackoverflow.com/questions/26943198
复制相似问题