【发布时间】:2019-09-13 05:06:42
【问题描述】:
我的前端在 localhost:8080 上运行,我的服务器在 localhost:3000 上运行。我想从我的前端向服务器发送一个请求。当我这样做时,我收到以下错误:
从 'localhost:3000/create-shareable-url' 访问 XMLHttpRequest 来源“http://localhost:8080”已被 CORS 策略阻止:交叉 源请求仅支持协议方案:http、data、 铬,铬扩展,https。
我使用的是http协议,为什么会出现这个错误?
我正在尝试从localhost 协议发出请求,所以这个错误让我认为这是不可能的。但另一方面,在开发模式下从客户端向服务器发送请求似乎是一个非常普遍的要求。
谷歌搜索似乎为我指明了在响应中设置 CORS 标头的方向。我已经在我的服务器上设置了标题(使用cors npm 包),但我想我还是会试一试。但它对我不起作用。 Access-Control-Allow-Origin: * Chrome 扩展程序不起作用,运行带有禁用网络安全标志的 Chrome 也不起作用。
客户端 JS
createSharableEquityCalculatorURL: function (storeState) {
let data = this._constructEquityCalculatorData(storeState);
return Vue.axios.post(`${process.env.BASE_API_URL}/create-sharable-url`, data);
},
【问题讨论】:
-
@ADyson 啊,对。所以看起来协议是http。如果是这样,为什么我会收到错误消息? Http 被列为错误消息中支持的协议方案之一。
标签: javascript ajax cors xmlhttprequest