jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 不使用201状态代码调用回调成功大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用API​​ Rest.我想用 AJAX and JQuery创建一个ressource.我的ressource是正确创建的,但是调用错误回调.

我的代码是:

$.ajax({
    url: "/api/skills.json",data: JSON.Stringify(skill),method: "POST",contentType: "application/json",statusCode: {
        201: function (data) {
            console.log("201");
        }
    },success: function (data) {
        console.log("success");
    },error: function (data) {
        console.log("error");
    },complete: function (data) {
        console.log("complete");
    }
});

从Firefox控制台导致“网络”:

http/1.1 201 Created
Date: Thu,27 Oct 2016 08:29:08 GMT
Server: Apache
X-Powered-By: PHP/7.0.8
Cache-Control: no-cache
LOCATIOn: http://localhost/api/skills/PDAk12ada64d
Allow: POST
Content-Length: 0
Keep-Alive: timeout=5,max=100
Connection: Keep-Alive
Content-Type: application/json

控制台的结果:

"201"
"error"
"complete"

为什么JQuery调用201状态的错误回调?

我尝试使用快捷方法$.postand相同的结果,我不使用快捷方法,因为我使用自定义标头.

解决方法

正如我在上面的评论中所提到的,似乎当jQuery.Ajax获得一个空响应并尝试将其解析为JSON时,它会抛出一个错误,然后将其解释为响应的错误(而不是解析它).

这意味着您有两个选项 – 将请求作为文本发送而不是JSON(我不建议)或使用statusCode处理响应,就像您在问题中所做的那样并删除成功和错误回调.

https://stackoverflow.com/a/14988814/12280

大佬总结

以上是大佬教程为你收集整理的jquery – 不使用201状态代码调用回调成功全部内容,希望文章能够帮你解决jquery – 不使用201状态代码调用回调成功所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。