axios跨域post请求400

发布于 2022-09-12 01:17:50 字数 1425 浏览 19 评论 0

项目是前后端分离,前端采用vue,后台用springboot2.x搭建
后台配置了跨域

@Configuration
public class MyCorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins(ALL)
                .allowedMethods(ALL)
                .allowedHeaders(ALL)
                .allowCredentials(true)
                .maxAge(3600);
    }
}

前台get请求的跨域是正常的,但是在进行post请求时报400错误
image.pngimage.png
后台控制器

    @PostMapping(value = "/login")
    public ResponseObject login(@RequestParam String username, @RequestParam String password){
        System.out.println(username);
        System.out.println(password);
        ...
    }

前台代码

this.$refs.loginFormRef.validate(async valid => {
        if (!valid) return
        const { data: res } = await this.$http.post('login', this.loginForm)
import axios from 'axios'
// 配置请求的跟路径
axios.defaults.baseURL = 'http://localhost:8088/'

// 在 request 拦截器中,展示进度条 NProgress.start()
axios.interceptors.request.use(config => {
  NProgress.start()
  return config
})
// 在 response 拦截器中,隐藏进度条 NProgress.done()
axios.interceptors.response.use(config => {
  NProgress.done()
  return config
})

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

月棠 2022-09-19 01:17:50

post请求 参数在body里

巴黎盛开的樱花 2022-09-19 01:17:50

400 是 HTTP 的状态码,主要有两种形式:

  • 1、bad request 意思是 "错误的请求";
  • 2、invalid hostname 意思是 "不存在的域名"。

400 Bad Request 是由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求。

感觉是你请求的地址或者类型(GET/POST)不对,后端路由识别不出来。

身边 2022-09-19 01:17:50

后台返回数据格式不是规定格式或直接没有返回数据,也会报4**

分分钟 2022-09-19 01:17:50

你后端代码不对啊。
你前台post提交,后端用get接受,严格来说,这就是错误的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文