【问题标题】:How do you send a cross origin request from localhost?如何从 localhost 发送跨域请求?
【发布时间】: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


【解决方案1】:

它说“在 'localhost:3000/create-sharable-url 访问 XMLHttpRequest”的事实让我觉得在你的 JS 中你忘了把 http:// 放在目标 URL 的开头。

在您的代码中完整地写出来,即http://localhost:3000/create-sharable-url

【讨论】:

  • 我花了 3 个小时在网上搜索,没有任何效果,这就是答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-17
  • 2019-02-11
  • 2016-10-06
  • 2010-09-22
  • 1970-01-01
相关资源
最近更新 更多