【问题标题】:CORS using ExtJS returns error 405 (Method not Allowed)使用 ExtJS 的 CORS 返回错误 405(不允许的方法)
【发布时间】:2016-04-27 08:09:26
【问题描述】:

我正在尝试使用 CORS 从另一个使用 ExtJS 的 WS 获取数据。 调用此请求的页面是通过 HTTPS 加载的,请求的页面是 HTTP。

Ext.Ajax.request({
  url: 'http://MYDESTINATIONURL',
  method: 'GET',
  disableCaching: false ,
  useDefaultXhrHeader: false,
  cors: true,
  success: function(response) {
    console.log('SUCCESS!');
  },
  failure: function(response) {
    console.log('FAILURE!: '+response.getAllResponseHeaders());
  }
});

此请求生成一个带有 405(不允许方法)状态的 OPTIONS 方法。 有关请求的更多详细信息: 请求方法:选项 状态码:405 方法不允许

Request Headers
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:pt-PT,pt;q=0.8,en-US;q=0.6,en;q=0.4
Access-Control-Request-Headers:x-requested-with
Access-Control-Request-Method:GET
Cache-Control:max-age=0
Connection:keep-alive
Host:MYDESTINATIONURL
Origin:https://localhost
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)         Chrome/35.0.1916.153 Safari/537.36

Response Headers
Access-Control-Allow-Headers:X-Requested-With,Content-Type
Access-Control-Allow-Origin:*
Access-Control-Request-Method:POST,GET,PUT,DELETE,OPTIONS
Allow:GET
Content-Length:1565
Content-Type:text/html; charset=UTF-8
Date:Tue, 22 Jul 2014 12:06:02 GMT
Server:Microsoft-HTTPAPI/2.0

我认为标题是根据 CORS 的。请求包含 Origin 标头,响应包含 -Allow-Origin 标头。 服务器支持 CORS。 但是是什么导致了错误?

错误: 选项 http://MYDESTINATIONURL 405(不允许的方法) XMLHttpRequest 无法加载 http://MYDESTINATIONURL。 HTTP 状态码 405 无效

【问题讨论】:

    标签: javascript ajax http extjs cors


    【解决方案1】:

    我遇到了与上述相同的问题,但通过在我的应用程序初始化期间添加以下两行来解决它:

    Ext.Ajax.useDefaultXhrHeader = false;
    Ext.Ajax.cors = true;
    

    在此之前,我曾尝试在商店的AjaxProxy 上设置useDefaultXhrHeadercors 参数,但没有成功。

    【讨论】:

      猜你喜欢
      • 2018-06-16
      • 2013-03-13
      • 2021-04-05
      • 2014-01-09
      • 1970-01-01
      • 2017-11-13
      • 1970-01-01
      • 1970-01-01
      • 2020-08-25
      相关资源
      最近更新 更多