$.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);
答案 0 :(得分:1)
添加:dataType:"json"
...............
答案 1 :(得分:-4)
尝试阅读$.ajax
documentation:
error(jqXHR, textStatus, errorThrown)
- 功能要调用的函数 如果请求失败。该函数接收三个参数:
jqXHR
(在jQuery 1.4.x,XMLHttpRequest)对象中,描述类型的字符串 发生的错误和可选的异常对象(如果有) 发生了。第二个参数的可能值(除了null)是 “timeout”,“error”,“abort”和“parsererror”。当出现HTTP错误时 发生时,errorThrown接收HTTP状态的文本部分, 例如“未找到”或“内部服务器错误”。截至jQuery 1.5, 错误设置可以接受一系列功能。每个功能都是 反过来叫。注意:不会为跨域调用此处理程序 脚本和JSONP请求。这是一个Ajax事件。
检查参数列表。那不是你的数据。这是一个jqXHR对象。
根据定义,如果您已成功从服务器检索数据,则表示succeeded
,而不是errored
。数据是否包含字符串"error"
的数据。
即使您的数据描述错误,您仍应使用success
回调。不要发送500标题。
$.ajax({
type: 'POST',
url: api_url+'client/'+client.id+'.json',
data: {
_method: 'delete',
id: client.id
},
success: function(data) {
if(data.errors) {
//Server not able to process the request
}
else {
$('#delete-client').html('Success');
}
},
error: function(data) {
//AJAX request not completed
$('#delete-client').css('color', 'red');
$('#delete-client').html('Error');
}
});