我尝试使用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(Method not Allowed)状态的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
答案 0 :(得分:0)
我遇到了与上面提到的相同的问题,但是在我的应用程序初始化期间通过添加以下两行来解决它:
Ext.Ajax.useDefaultXhrHeader = false;
Ext.Ajax.cors = true;
在此之前,我尝试在我的商店useDefaultXhrHeader
上设置cors
和AjaxProxy
参数,但没有成功。