CORS Missing Allow Origin

自用小总结

问题出现背景:前后端交互
问题描述:脚本无法获取响应主体(原因:CORS Missing Allow Origin
问题分析:前后端交互数据形式不匹配
自我检查:用 postman 检查后端接口是否能用,排除前端和后端其中一个
尝试更改
1. 前端是form-data / x-www-form-urlencoded数据,后端则需要使用@RequestParam

2. 前端是application/json数据,后端则需要使用@RequestBody

3. 后端尝试添加

1. , HttpServletResponse response
2. response.setHeader("Access-Control-Allow-Origin", "*");

位置在controller里面 ,例如 :
@PostMapping("/login")
public Result<User> loginController(@RequestParam String uname, @RequestParam String password, HttpServletResponse response){
        User user = userService.loginService(uname, password);
        if(user!=null){
            response.setHeader("Access-Control-Allow-Origin", "*");
            return Result.success(user,"登录成功!");
        }else{
            return Result.error("123","账号或密码错误!");
        }
    }       

4.前端请求添加请求头

 this.axios({
            url: "/user/login",               // 请求地址
            method: "post",                   // 请求方法
            headers: {                         // 请求头
              "Content-Type": "application/json",
            },
            params: {                          // 请求参数
              uname: this.ruleForm.uname,
              password: this.ruleForm.password,
            },
          })

5.前端请求参数应该是paramse 还是 data,是否与后端接收 controller 相匹配

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值