javascript - 无法接收 CORS 的 http 状态代码 413

标签 javascript jquery ajax http backbone.js

我有这个 Web 应用程序,其中 Web 服务托管在 Amazon API 网关上,客户端应用程序托管在 cloudefront 站点上。这些服务启用了 CORS。对于任何错误,例如 http 500、401、403,我可以使用 status 属性从 jqxhr 对象接收 http 状态。但似乎对于 http 状态 413,我在代码中得到状态 0。

我还注意到,如果在服务器中发出请求,则可以收到 http 状态 413。但仅对于跨域ajax,状态413被接收为状态0。

有没有办法处理跨域ajax请求的http状态413。

为简洁起见,考虑以下代码块,对于 http 状态 500、401,错误回调日志输出 500 或 401。但对于 413,它显示 0。

        $.ajax({
            url: 'URL to AWS API Gateway',
            success: function(d){
                 console.log(d);
            },
            error: function(a){
                console.log( a.status );
            }
        });

最佳答案

请参阅以下内容 http://jsfiddle.net/tqgv7z9c/1/ (注意 http 不是 https)

$.ajax({
    url: 'http://www.mocky.io/v2/57bb03fc100000460a585000',
    error: function(a){
        $('#code').text( a.status );
    }
});

我使用 http://www.mocky.io/ 进行设置使用以下设置:

您可以看到正确返回了 413 代码。

如果没有看到您收到的响应的更多细节,我想浏览器正在采取后续行动,我知道如果 304 Found 响应返回 Location header ,这将导致发生新的请求,并且在浏览器继续之前您将无法拦截。如果这就是您遇到的情况,如果您没有能力修改 API 本身,您可能无能为力。

关于javascript - 无法接收 CORS 的 http 状态代码 413,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39074173/

相关文章:

javascript - 变量值没有被清除

javascript - 使用 React Redux Store 的最佳方式是什么?

php - 构建表单的最快方法 - PHP/jQuery/CodeIgniter

javascript - jQuery 不会加载更新的图像

php - 传递可变大小的表单

javascript - 从 HTML(静态)迁移到 WP 后,联系表单不起作用

javascript - 获取div内文本的实际高度

javascript - 单击时删除 div 或 iframe

php - 使用 PHP+Jquery 隐藏和显示 div 时遇到问题

javascript - 重写 ember.js Controller 中的内容