Element-admin写后台,请求接口遇到了问题

img


我在路由拦截那里设置了config.headers的token,再去表单提交的时候返回401。get请求都没问题。而且请求头是这样的。

解决方案:

  1. 可以用jsonp请求,这个不受跨域影响
  2. 设置nginx代理,解决跨域
  3. 比较简单粗暴的一个方法,使用以下代码:
    (1)如果已经上线,并且前端有自己的域名,使用以下代码(将123.com换成自己的域名):
header('Access-Control-Allow-Origin:http://123.com');

(2)如果只是本地前端调试,直接用vue自己的代理就行了

后台要设置跨域处理,springmvc,springboot实现参考:

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        /**
         * 允许跨域配置
         */
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowCredentials(true)
                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS", "HEAD")
                .maxAge(3600);
    }
}