【发布时间】:2011-10-22 21:29:49
【问题描述】:
$.ajax({
type: 'POST',
url: api_url+'client/'+client.id+'.json',
data: {
_method: 'delete',
id: client.id
},
success: function(data) {
$('#delete-client').html('Success');
},
error: function(data) {
$('#delete-client').css('color', 'red');
$('#delete-client').html('Error');
}
});
关于错误:函数 jquery 会收到这个带有 500 标头状态的 json 对象
{"errors":{"code":777,"message":"Method requested does not yet exist","data":[]}}
但是,如果我使用 data.errors.message 它不会在那里显示错误。当我 console.log 使用它的返回对象时,它会在 chromes 开发人员框中显示一个带有不同事件的巨大对象
已修复
var error = jQuery.parseJSON(jqXHR.responseText);
$('#delete-client').html(error.errors.message);
【问题讨论】:
-
如果请求出错,为什么回调会收到任何东西?
-
我建议您将您的修复放在一个答案中,以便清楚正确答案是什么。我知道这是一个很老的问题,但它在 Google 上的排名很高......