1 扫盲知识

  1.1 Ajax为什么存在跨域问题

    因为浏览器处于安全性的考虑不允许JS执行跨域请求。

  1.2 浏览器为什么要限制JS的跨域访问

    如果浏览器允许JS的跨域请求就很容易造成 CSRF (Cross-site request forgery),中文名称:跨站请求伪造,缩写为:CSRF/XSRF。

  1.3 什么是CSRF

    SpringBoot22 Ajax跨域、SpringBoot返回JSONP、CSRF、CORS

 

2 Ajax如何实现跨域访问

  2.1 利用JSONP实现

    技巧01:如果Ajax指定的数据类型为JSONP时,后台接口必须支持返回JSONP格式

SpringBoot22 Ajax跨域、SpringBoot返回JSONP、CSRF、CORS

 

3 SpringBoot设置支持响应数据类型为JSONP

  3.1 写一个配置文件即可

SpringBoot22 Ajax跨域、SpringBoot返回JSONP、CSRF、CORS

package cn.xiangxu.demo_code.commons.config;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.servlet.mvc.method.annotation.AbstractJsonpResponseBodyAdvice;
import org.springframework.web.servlet.mvc.method.annotation.AbstractMappingJacksonResponseBodyAdvice;

/**
 * @author 王杨帅
 * @create 2018-07-19 22:40
 * @desc JSONP跨域支持配置
 **/
@ControllerAdvice
public class JsonpAdvice extends AbstractJsonpResponseBodyAdvice {
    public JsonpAdvice() {
        super("callback","jsonp");
    }
}
View Code

相关文章:

  • 2018-05-31
  • 2022-03-02
  • 2022-03-05
  • 2022-02-21
  • 2021-07-31
  • 2021-11-12
  • 2022-01-21
  • 2022-12-23
猜你喜欢
  • 2021-11-19
  • 2021-09-14
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-06
相关资源
相似解决方案