Springboot解解决决ajax+自自定定义义headers的的跨跨域域请请求求问问题题

1、、什什么么是是跨跨域域

由于浏览器同源策略 (同源策略,它是由Netscape提出的一 著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这

策略。所谓同源是指,域名,协议,端口相同。),凡是发送请求url的协议、域名、端口三者之间任意一与当前页面地址不同

即为跨域。

具体可以查看下表:

2、、springboot如如何何解解决决跨跨域域问问题题

1.普普通通跨跨域域请请求求解解决决方方案案::

①请求接口添加注解@CrossOrigin(origins = "http:// 127. . .1:8 2 ", maxA ge = 36 )

说明:origins = "http:// 127. . .1:8 2 " origins值为当前请求该接口的域

②通用配置 (所有接口都允许跨域请求)

新增一 configration类 或 在A pplication中加入CorsFilter和CorsConfiguration方法

@Configuration

public class CorsConfig {

private CorsConfiguration buildConfig() {

CorsConfiguration corsConfiguration = new CorsConfiguration();

corsConfiguration.addAllowedOrigin("*"); 1允许任何域名使用

corsConfiguration.addAllowedHeader("*"); 2允许任何头

corsConfiguration.addAllowedMethod("*"); 3允许任何方法 (post、get等)

return corsConfiguration;

}

@Bean

public CorsFilter corsFilter() {

UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();

source.registerCorsConfiguration(" **", buildConfig()); 4

return new CorsFilter(source);

}

}

2.ajax自自定定义义headers的的跨跨域域请请求求

$.ajax({

type:"GET",

url:"http: localhost:8766 main currency sginInState",

dataType:"JSON",

data:{

uid:userId

},

beforeSend: function (XMLHttpRequest) {

XMLHttpRequest.setRequestHeader("Authorization", access_token);

},

success:function(res){

console.log(res.code)

}

})

此时请求http://localhost:8766/main/currency/sginInState接口发现OPTIONS http://localhost:8766/main/currency/sginInState

5 错误,普通跨域的解决方案已经无法解决这种问题,为什么会出现OPTIONS请求呢?

原原因因

浏览器会在发送真正请求之前,先发送一 方法为OPTIONS的预检请求 Preflighted requests 这 请求是用来验证本次请求是否

Ajax调用springboot接口,Springboot解决ajax+自定义headers的跨域请求问题.pdf相关推荐

  1. 自定义原生jsonp跨域请求

    由于同源策略,跨域(协议.域名.端口均相同的为同域)之间是不允许请求资源的,但是scrapt标签不收跨域约束,如论是jQuery中的jsonp还是angularjs中的jsonp都是通过script来 ...

  2. html中jsonp错误,解决jquery中jsonp格式跨域请求报parsererror的错误

    在vs中创建一个空的mvc项目,在Controllers文件夹中添加一个控制器CommonController,并在该控制器下添加一个action用于获取服务器时间,代码如下: public Acti ...

  3. c#分页_使用Kotlin搭配Springboot开发RESTFul接口(二)自定义配置、跨域、分页

    前言 上一篇文章请看这里:使用Kotlin搭配Springboot开发RESTFul接口与服务部署 上一篇文章介绍了Kotlin搭配Springboot的开发流程,从搭建项目.ORM.Controll ...

  4. js跨域调用php接口,php的json格式和js跨域调用的代码

    function jsontest() { var json = [{'username':'crystal','userage':'20'},{'username':'candy','userage ...

  5. Ajax跨域请求以及乱码解决

    Ajax跨域请求2种解决方法 1 ) 什么叫跨域请求,协议,域名,端口号,其中一样不同都称跨域; 第一种:使用script标签发送请求; //创建一个script标签; var v_element=d ...

  6. ajax 跨域请求api_【.NET Core 3.0】框架之十二 || 跨域 与 Proxy

    本文有配套视频: https://www.bilibili.com/video/av58096866/?p=8 一.为什么会出现跨域的问题 跨域问题由来已久,主要是来源于浏览器的"同源策略& ...

  7. Ajax 调用webservice 解决跨域请求和发布到服务器后本地调用成功外网失败的问题...

    webservice 代码 1 /// <summary> 2 /// MESService 的摘要说明 3 /// </summary> 4 [WebService(Name ...

  8. springboot实现ajax跨域请求

    有段时间没写文章了.看到有人提问ajax跨域请求的问题. 博主要再次强调,跨域,就是从不同的的IP端口获取数据,比如说,从www.baidu.com获取数据,就叫跨域!那么localhost:8080 ...

  9. ajax对接接口属性,ajax调用restful接口

    ajax调用restful接口 内容精选 换一换 ROMA API提供了API服务能力,通过API服务把后端服务封装成标准RESTful格式API,并开放给其他用户使用.目前支持三种创建服务方式:创建 ...

最新文章

  1. Unity面试题汇总(第一部分)
  2. Java眼中的XML--文件读取--2 应用SAX方式解析XML
  3. 安装好了java7怎么打开,Windows怎么安装JDK1.7 JDK1.7怎么安装图解
  4. hdu 3172(并查集+hash)
  5. 机器学习基础-一元线性回归-01
  6. 设计模式4-创建型模式-Prototype模式
  7. iOS之Cocoapods安装
  8. 获取url中带的参数
  9. 攻防世界——MyDriver2-397
  10. 关于FTP的两种连接模式
  11. win10提示“应用程序无法正常启动 0xc0150002”怎么办
  12. K8s Kubernetes集群部署
  13. Fast-paced Multiplayer
  14. RAAT: Relation-Augmented Attention Transformer for Relation Modeling in Document-Level 论文解读
  15. 蚪侠-远程泛目录[泛域名+泛目录+泛内页]-[代码+汉字]干扰-字体繁简切换-蜘蛛欺骗-主动推送_模板版-V25版
  16. 雄关漫道真如铁,而今迈步从头越 | 挥别2022,再战2023!
  17. WaaSMedicAgent是什么程序?又叫Windows更新医生服务
  18. ModelsimSE使用指南
  19. 在ensp安装过程中遇到的错误(40 41错误,usg6000v导入时配置文件格式错误)
  20. java lru_LRU的理解与Java实现

热门文章

  1. 【Vue】样式穿透 ::v-deep的具体使用
  2. 用JS实现一个随机点名系统(五)
  3. 从谷歌浏览器复制不带样式_文字特效游戏海报特效字体photoshop字体图层样式
  4. 股票历史信息怎么看?
  5. 自动挡轿车等红灯时,是挂D挡踩刹车好还是挂N挡好呢?
  6. 如何快速对接大量的精准客户呢?
  7. 没什么本钱怎么做生意?
  8. 关于计算性能的若干重要事实
  9. 开放地址法开放地址法
  10. Java转型,多态和契约设计