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

Javascript 无法接收CORS的http状态代码413,javascript,jquery,ajax,http,backbone.js,Javascript,Jquery,Ajax,Http,Backbone.js,我有一个web应用程序,其中web服务托管在amazonapi网关上&客户端应用程序托管在cloudefront站点上。这些服务启用了CORS。对于任何错误,例如http 500、401、403,我可以使用status属性从jqxhr对象接收http状态。但是对于http状态413,我似乎在代码中得到了状态0 我还注意到,如果在服务器中使用发出请求,则可以接收http状态413。但仅对于跨域ajax,状态413作为状态0接收 是否有任何方法可以处理跨域ajax请求的http状态413 简短,考虑

我有一个web应用程序,其中web服务托管在amazonapi网关上&客户端应用程序托管在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而非https)

我使用以下设置设置它:

  • 413请求实体太大
  • CORS头
    • 访问控制允许来源:
    • 访问控制允许方法:GET
您可以看到413代码已正确返回


如果看不到您收到的响应的更多细节,我会想象浏览器正在采取后续行动,我知道这是一个问题,如果
304 find
响应返回
Location
头,这将导致出现新的请求,并且在浏览器继续之前您将无法拦截。如果您正处于这种情况,那么如果您没有修改API本身的能力,您可能就无能为力了。

从API网关发送的响应在响应头上没有任何访问控制允许来源。因此,我无法访问响应主体或响应状态。所以这个问题为我解决了。
$.ajax({
    url: 'http://www.mocky.io/v2/57bb03fc100000460a585000',
    error: function(a){
        $('#code').text( a.status );
    }
});