jquery利用ajax对接接口出现403错误是什么原因(如何解决)

2025年02月23日 建站教程

jquery利用ajax对接接口出现403错误是什么原因,如何解决这个错误?下面web建站小编给大家详细介绍一下!

403错误原因

经过分析发现是因为前端和服务器的域名不同而触发了防盗链机制

解决办法

对于自身项目而言,解决跨域问题可以通过代码设置允许的域。代码如下:

@Configuration
public class GlobalCorsConfig {
  @Bean
  public CorsFilter corsFilter() {
    //1.添加cors配置信息
    CorsConfiguration config = new CorsConfiguration();
    // 允许的域(根据需要进行设置),不要写*,
    config.addAllowedOrigin("http://localhost:8800");
    //是否发送cookie信息
    config.setAllowCredentials(true);
    //允许请求的方式
    config.addAllowedMethod("OPTIONS");
    config.addAllowedMethod("HEAD");
    config.addAllowedMethod("GET");
    config.addAllowedMethod("PUT");
    config.addAllowedMethod("POST");
    config.addAllowedMethod("DELETE");
    config.addAllowedMethod("PATCH");
    //允许的头信息
    config.addAllowedHeader("*");
    //有效时长
    config.setMaxAge(3600L);
    //添加映射网络,拦截一切请求
    UrlBasedCorsConfigurationSource configurationSource = new UrlBasedCorsConfigurationSource();
    configurationSource.registerCorsConfiguration("/**", config);
    //返回新的CorsFilter
    return new CorsFilter(configurationSource);
  }
}

拓展资料:

防盗链机制是基于http请求头的referer实现的,referer就相当于浏览器页面地址的id,浏览器向服务器发起请求时,会携带referer,服务器通过referer来判断是否是自己的域名,如果不是就会拒绝访问,如果是,则继续访问。

本文链接:http://so.lmcjl.com/news/23703/

展开阅读全文
相关内容