完成和成功两者在一起都行不通

时间:2014-11-15 06:24:27

标签: javascript jquery html ajax fancybox

我想在successcomplete一起使用,但它不起作用, 如果我没有使用dataType: "jsonp",那么Success工作,如果我将其包含在complete作品中

 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

1 个答案:

答案 0 :(得分:0)

我建议您通过开发人员工具的Network标签跟踪ajax请求。还要添加以下内容以跟踪错误。

...
error: function ( error ) {
    console.log(JSON.parse(error));
}
...

最有可能的是,由于某些服务器端问题,请求将失败。如果情况success永远不会被调用,那么complete(无论错误或没有错误,只要ajax请求完成就会被调用)总是被调用。