开发环境中解决跨域问题,nginx和tomcat

有两种方式,一种是在前端配置,一种是在后端配置

在前端配置代理

    devServer: {
    port: 7070,
        proxy: {
      '/api': {
        target: 'http://localhost:8080',//如果不行可以写'^/api':''
        changeOrigin: true,
      },
    },
  }

在后端设置跨域资源共享(CORS)的注解

@CrossOrigin("http://localhost:7070")
public class TestController {

    @GetMapping("/test")
    public R<String> test(){
        String s = "帅哥";

        return R.success(s);
    }
}

跨域携带cookie等凭证的问题

需要在前后端都配置
在前端新建axios的时候添加withCredentials: true

const _axions = axios.create({
        baseURL: 'http://localhost:8080',
        withCredentials: true
      });

在后端添加

@CrossOrigin("http://localhost:7070",allowCredentials = "true")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue生产环境,有两种方式可以解决跨域问题: 1. 后端配置允许跨域 (1)后端配置 后端可以通过设置响应头来允许跨域请求。例如,在Django框架,可以在视图函数添加以下代码: ```python response['Access-Control-Allow-Origin'] = '*' ``` 这样就可以允许所有域名的请求。 (2)Vue项目配置 在Vue项目,可以通过配置axios和接口路径来解决跨域问题。 (1)axios配置 在main.js,可以添加以下代码: ```javascript import axios from 'axios' axios.defaults.baseURL = 'http://localhost:8000' // 设置后端接口地址 Vue.prototype.$axios = axios ``` 这样就可以在组件使用`this.$axios`来发送请求。 (2)接口路径配置 在发送请求时,可以使用相对路径来代替绝对路径。例如: ```javascript this.$axios.get('/api/user') ``` 这样就可以发送到`http://localhost:8000/api/user`的请求。 (3)最终结果 通过以上配置,就可以在Vue生产环境解决跨域问题。 2. 配置Nginx 另外一种解决跨域问题的方式是通过配置Nginx。具体步骤如下: (1)nginx配置 在Nginx的配置文件,添加以下代码: ```nginx location /api/ { proxy_pass http://localhost:8000/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } ``` 这样就可以将以`/api/`开头的请求转发到`http://localhost:8000/`。 (2)最终效果 通过以上配置,就可以在Vue生产环境解决跨域问题

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值