开发前后端分离项目出现跨域问题

跨域问题

产生原因

在搭建尚医通项目的时候,前端项目访问后端接口,访问失败,浏览器显示 Access-Control-Allow-Origin

在这里插入图片描述
查资料发现:

跨域问题的本质是浏览器对ajax的一种限制。

若A地址访问B地址 三个地方,任何一个地方不统一将产生跨域问题

  • 访问协议:http https
  • 访问地址:192.168.22.33 192.168.22.34
  • 端口号:9508 8201

解决方案

修改前端项目访问地址为本地接口地址
在这里插入图片描述

把mock.js的数据修改为本地接口提供的数据

  1. 创建本地接口代替mock.js的数据
@RestController
@RequestMapping("/admin/hosp/user")
public class UserLoginController {
    //login
    @PostMapping("login")
    public Result login(){
        Map<String,Object> map = new HashMap<>();
        //{"code":20000,"data":{"token":"admin-token"}}
        map.put("token","admin-token");
        return Result.ok(map);
    }
    //info
    @GetMapping("info")
    public Result info(){

        Map<String,Object> map = new HashMap<>();
        /*

        {"code":20000,"data":{"roles":["admin"],
        "introduction":"I am a super administrator",
        "avatar":"https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"
        ,"name":"Super Admin"}}
         */
        map.put("roles","admin");
        map.put("introduction","I am a super administrator");
        map.put("avatar","https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif");
        map.put("name","Super Admin");
        return Result.ok(map);
    }
}

  1. 修改前端的接口地址为本地接口地址

在这里插入图片描述
此时运行前端和后端的项目,点击登录,会导致跨域问题的出现

(解决跨域的关键)在访问的本地后端接口的控制器上加上@CrossOrgin
在这里插入图片描述

登录成功!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值