当前位置: 首页 > 知识库问答 >
问题:

如何为不同的域API设置Vue CORS?

张兴旺
2023-03-14

我试图部署一个Vue应用程序,它有一个单独的后端,并将托管在不同的域。例如:

  1. 喵喵。猫xyz(应用程序)

现在,在npm运行build之后,我试图通过运行service-s dist在本地预览它,而应用程序正在本地主机上断开:5000。但是,问题在于它没有在当前endpoint(即本地的localhost:8000,服务器的API.meow.cat.xyz)发送API请求。我尝试了如下配置CORS

vue.config.js

module.exports = {
  devServer: {
    port: process.env.VUE_APP_DEV_PORT,
    proxy: process.env.VUE_APP_API_ROOT_PATH,
  },
};

.env.development

VUE_APP_API_ROOT_PATH = 'http://localhost:8000/api'
VUE_APP_DEV_PORT = 3000

请注意,我使用axiox。这是我的axios设置。

API. js

import axios from "axios";

const injectAccessToken = (config) => {
  const accessToken = localStorage.getItem("access_token");
  if (accessToken)
    config.headers.common["Authorization"] = `Bearer ${accessToken}`;
  return config;
};

const config = {
  baseURL: process.env.VUE_APP_API_ROOT_PATH,
};

const API = axios.create(config);

API.interceptors.request.use(injectAccessToken);

export default API;

并使用它如下

登录。vue

import API from "@/api/Api";

<script>
  const res= await API.post('login')
</script>

这个解决方案还不起作用。其发送请求位于http://localhost:5000。重点是什么?请注意,我使用的是axios。提前谢谢。

共有2个答案

俞学
2023-03-14

允许服务器(api)上的应用程序来源的COR。

这与客户端(应用程序)无关

申屠英韶
2023-03-14

允许来自服务器的CORS请求

使用Access Control Allow Origin标头,您可以指定哪些源可以使用您的API。

app.get('/api', (req, res) => {
    res.set('Access-Control-Allow-Origin', 'http://localhost:3000');
    res.send({
        api: "your request."
    });
})
 类似资料:
  • 我使用GLFW,我有不同的类代表我的应用程序中的不同状态和一个状态管理类。我想使用GLFW接收键输入并将其传递到当前状态(因此传递给另一个类)。 我能想到的唯一方法是给每个类一个自己的keycallback函数,并使用glfwSetKeyCallback(window,keycallback); 事情不是那样的 人们推荐这样的东西: 但GLFWCALL宏已从GLFW中删除(官方注释)。 我已经读到

  • 如何为Vue应用程序设置跨域配置?我有一个LaravelAPI服务于不同的域。因此,当我尝试发送和API请求时,它并没有将其发送到正确的API目标,而是发送到自己的域(例如,vue在

  • 问题内容: 假设我有一个名为的网站,并且在加载该网站的特定页面(例如页面链接)时,我想为另一个名为的网站设置Cookie ,然后将用户重定向到。 我的意思是,我想为其设置Cookie 并将用户重定向到。 我对其进行了测试,然后浏览器实际上从接收到了cookie ,但是在重定向请求到时,它没有发送该cookie 。正常吗 我们可以为其他域设置Cookie吗? 问题答案: 您不能为其他域设置Cooki

  • 我想将我的谷歌应用程序域上所有用户的签名设置为他们的姓名和职务。通过研究,我发现实现这一点的唯一自由方式是使用Gmail API。我只需使用网站上的快速入门指南,就可以获得该域名上所有用户的列表(包括所需信息、我想要设置签名的电子邮件地址、姓名、职务)https://developers.google.com/admin-sdk/directory/v1/quickstart/js. 在listU

  • 我有两个日期选择器“一个范围”,第一个选择器是“pre_from”日期,第二个是“pre_to”日期。但是,我想在这里做的是将“pre_to”选择器minDate发送到=“pre_from”selectedate。此外,我还想将“pre_to”选择器设置为“pre_from”所选月份的最后一天。 我已经向“pre_from”datepicker的“onclose”函数添加了一段代码,该代码应该设置

  • 我对列有网格。在第二列中,我必须组合框(例如在第一行和第三行)。如何为它们设置不同的存储空间?第二个组合框的值取决于第一个组合框 这是一张图片 我看到一个例子,但是有不同的列,而不是行