$ .ajax statusCode函数永远不会接收参数

时间:2012-02-22 13:09:21

标签: ajax jquery http-status-codes

根据official jQuery doc

  

如果请求成功,则状态码函数采用与成功回调相同的参数;如果它导致错误,则它们采用与错误回调相同的参数。

但事实上,事实并非如此。使用此代码:

    function saveCampagne (data){
        $.ajax({
            url : url,
            type : "GET",
            data : data,
            statusCode:{
                201 : function(campagne){
                    // JSON Decode
                    var Campagne = JSON.parse(campagne);
                    $("#zone-message").append('<div class="alert fade in" data-alert="alert"><a class="close" data-dismiss="alert" href="#">&times;</a><p><strong>C\'est Fait !</strong> La campagne a été ajoutée sous la référence #'+Campagne.id+'. Elle sera validée prochainement par un administrateur.</p></div>');
                    return Campagne;
                },
                200 : function(){
                    $("#zone-message").append('<div class="alert alert-error fade in" data-alert="alert"><a class="close" data-dismiss="alert" href="#">&times;</a><p><strong>Woops !</strong> Une erreur est survenue dans la création de la nouvelle campagne. Merci de ré-essayer ultérieurement.</p></div>');
                }
            },
            success : function(campagne){
            },
            error : function(){
                $("#zone-message").append('<div class="alert alert-error fade in" data-alert="alert"><a class="close" data-dismiss="alert" href="#">&times;</a><p><strong>Woops !</strong> Une erreur est survenue dans la création de la nouvelle société. Merci de ré-essayer ultérieurement.</p></div>');
            }
        });
    }

我可以制作.append,但函数永远不会在success

中获取数据(通过campagne传递,如201 : function(campagne){...}

任何想法,为什么它不像文档一样说它是如何工作的?

1 个答案:

答案 0 :(得分:0)

尝试删除成功和错误处理程序。