【发布时间】:2018-11-13 23:09:18
【问题描述】:
所以,我的 localhost 有一个页面,该页面将请求发送到远程站点。我尝试这样做:
Ext.Ajax.cors = true;
Ext.Ajax.request({
url: "http://remoteaddress.com",
method: "GET",
headers: {
"Access-Control-Allow-Origin": "*"
},
cors: true,
useDefaultXhrHeader: false,
success: function (result, request) {
console.log("success!!!");
}
});
所以,我跟踪了几十个线程并设置了这些参数 - cors、useDefaultXhrHeader 等,但无济于事。
但是,如果我在邮递员中构建相同的请求(对相同 remoteaddress.com 的请求),那就没问题了。
那么,我做错了什么,我该如何解决?
【问题讨论】:
-
如我所见,整个问题在于
OPTIONS方法,但我不确定如何切换到GET请求。我想,cors: true和useDefaultXhrHeader: false应该可以解决问题,但他们没有。 -
从您的前端代码中删除 ` headers: { "Access-Control-Allow-Origin": "*" }`。 Access-Control-Allow-Origin 是响应标头,而不是请求标头。尝试将其设置为请求标头是触发浏览器执行该 OPTIONS 请求的原因。