首页 > 解决方案 > 如何从 localhost 发送跨域请求?

问题描述

我的前端在 localhost:8080 上运行,我的服务器在 localhost:3000 上运行。我想从我的前端向服务器发送一个请求。当我这样做时,我收到以下错误:

从源“ http://localhost:8080 ”访问“localhost:3000/create-sharable-url”处的 XMLHttpRequest已被 CORS 策略阻止:跨源请求仅支持协议方案:http、data、chrome、chrome -扩展,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);
},

标签: javascriptajaxcorsxmlhttprequest

解决方案


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

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


推荐阅读