如何处理ajax 201

在进行ajax调用时,请参阅下面的示例’success’确实获得201状态重新调整。 你如何更好地处理这些成功函数中的200,201?

$.ajax({ type: "POST", dataType: "json", url: "http://api.domain.com/sms", data: { // Send value in mobile input field. mobile: $("#mobile").val(), }, // On successful AJAX call do the following. success: function(data){ $('#messageText').text('SMS successfully sent'); }, error: function(jqXhr){ data = JSON.parse(jqXhr.responseText); } 

使用statusCode对象:

 var handle200 = function(data, textStatus, jqXHR) { alert('200'); // success codes have the success signature }; var handle201 = function(data, textStatus, jqXHR) { alert('201'); // success codes have the success signature // test it if you are in doubt: console.log(data); console.log(textStatus); console.log(jqXHR); }; var handle404 = function(jqXHR, textStatus, errorThrown) { alert('404'); // failing codes have the error signature }); var request = $.ajax({ type: 'POST', url: '/myresource/posttarget', data: { name: 'john' }, statusCode: { 200: handle200, 201: handle201, 404: handle404 } }); 

这是一个古老的问题,但无论如何我想发表评论。

我遇到了同样的问题,有一件事让我解决了这个问题就是让“dataType”无法解决。 当你这样做时,jQuery将尝试猜测服务器返回的数据类型,并且当服务器返回没​​有内容的201时不会抛出错误。

希望能帮助到你。

数据插入成功但jquery仍然返回错误

这里的答案似乎是你现在可以使用的工作。 但是,如果您使用的是跨域,则AJAX存在一些问题。 看看这个SOF线程:

从jQuery AJAX读取HTTP状态/错误代码的问题

我们遇到了类似的问题; 查看jquery 1.9源代码,201状态代码需要内容。 如果201中没有返回内容(或错误的内容类型),则调用失败回调。