Abyssal_sea 2022-10-20 18:43 采纳率: 0%
浏览 30

前端用restful风格post验证码,后端明明接收正确的地址,但获取不到验证码参数

前端代码

export function register(user,captcha) {
    return request({
        url: `/user/register/${captcha}`,
        method: 'post',
        data: user,
    })
}

后端代码

 @PostMapping("/register/{captcha}")
 public R<User> register(HttpServletRequest request, @RequestBody User user, @PathVariable String captcha) {
        //验证码校验
        if (!captcha.equals(request.getSession().getAttribute("captcha"))) {
            return R.error("验证码错误");
        }
}

当生成验证码为A4uI时,后端输出“地址拦截到请求:/user/register/A4uI”表明能接收到正确的地址
但是就是不能直接获取这个A4ul为captcha,导致一直判断验证码错误

  • 写回答

1条回答 默认 最新

  • 呆呆papa 2022-10-20 20:14
    关注

    后台是不是开启了跨域,服务端会生成有一个JSESSIONID的东西,并返回给前端,前端在下一次请求的时候需要将这个JSESSIONID放在cookie中,然后服务端才能根据这个sessionid获取到对应的session

    评论

报告相同问题?

问题事件

  • 修改了问题 10月20日
  • 创建了问题 10月20日