$.ajax statusCode 函数从不接收参数
根据 官方 jQuery 文档 :
如果请求成功,状态码函数采用与成功回调相同的参数;如果导致错误,它们将采用与错误回调相同的参数。
但事实上并非如此。使用此代码:
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="#">×</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="#">×</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="#">×</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
但该函数永远不会在我的 201 中获取数据(通过campagne传递,如
success
): function( Campagne){...}
知道为什么它不像文档所说的那样工作吗?
According to the official jQuery doc :
If the request is successful, the status code functions take the same parameters as the success callback; if it results in an error, they take the same parameters as the error callback.
But in fact, it's not. With this code :
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="#">×</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="#">×</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="#">×</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>');
}
});
}
i'm able to make the .append
but the function never get data (passed through campagne, like success
) in my 201 : function(campagne){...}
Any Idea why it's not working like the doc say how it's works ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试删除成功和错误处理程序。
Try removing the success and error handlers.