为什么前端传了token,后端一直获取不到?一直报跨域错误?

这是我的前端代码

这是我的后端拦截器

那就需要了解一下 预检请求

对于非简单请求(如PUT、DELETE或包含自定义HTTP头的请求),浏览器会先发送一个OPTIONS请求到目标服务器,询问是否允许该跨域请求。这个过程称为预检请求。

当options请求到达我服务器时,被拦截器拦住了,获取不到跨域的规则。所以浏览器也不会发送实际的请求。那么一共有两种解决办法

1、过滤器
java 复制代码
package com.book.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

@Configuration
public class GlobalCorsConfig {

    @Bean
    public CorsFilter corsFilter() {
        //1. 添加 CORS配置信息
        CorsConfiguration config = new CorsConfiguration();
        // 放行哪些原始域
        config.addAllowedOrigin("http://localhost:8080");
        // 是否发送 Cookie
        config.setAllowCredentials(true);
        // 放行哪些请求方式
        config.addAllowedMethod("*");
        // 放行哪些原始请求头部信息
        config.addAllowedHeader("*");
        // 暴露哪些头部信息
        config.addExposedHeader("*");
        //2. 添加映射路径
        UrlBasedCorsConfigurationSource corsConfigurationSource = new UrlBasedCorsConfigurationSource();
        corsConfigurationSource.registerCorsConfiguration("/**",config);
        //3. 返回新的CorsFilter
        return new CorsFilter(corsConfigurationSource);
    }

}
2、拦截器中放行options请求(preHandle方法中)
java 复制代码
//判断是否需要拦截
        //拦截器取到请求先进行判断,如果是OPTIONS请求,则放行
        if("OPTIONS".equals(request.getMethod().toUpperCase())) {
            System.out.println("Method:OPTIONS");
            return true;
        }
相关推荐
蜡台10 小时前
Vue3 Hook 与 Store 状态管理:深度解析与选型指南
前端·javascript·vue.js
無名路人11 小时前
小程序点餐页吸顶滚动
前端·微信小程序·ai编程
小小小前端啊11 小时前
前端手写代码大全
前端
李白的天不白11 小时前
大规模请求数据并发问题
java·前端·数据库
冲浪中台11 小时前
【无标题】
前端·低代码
openKaka_12 小时前
beginWork 的第一站:HostRoot 如何把 App 接入 Fiber 树
前端·javascript·react.js
我命由我1234512 小时前
Dart - Dart SDK、Hello World 案例、变量声明、常量声明、常量 final、字符串类型
前端·flutter·前端框架·html·web·dart·web app
冴羽yayujs12 小时前
GitHub 前端热榜项目 - 日榜(2026-05-11)
前端·github
~|Bernard|12 小时前
四,go语言中GMP调度模型
java·前端·golang
YOU OU12 小时前
HTML+CSS+JavaScript
前端·javascript·css·html