有段时间没写文章了。看到有人提问ajax跨域请求的问题。

博主要再次强调,跨域,就是从不同的的IP端口获取数据,比如说,从www.baidu.com获取数据,就叫跨域!那么localhost:8080与localhost:8081之间呢?也叫跨域。如果处理的不好,就会报错,不仅前端报错,后端也会报错。

那么如何解决呢?着急的人,请直接往下看,不急的请听我细细道来,一定能解决您的问题。我再此保证!

好多人都说,spring对跨域有自己的一套,比如实现了这个类那个类的。还有说是在ajax里面加上 _method 等等,众说纷纭啊!到底是不是大家所说的那样呢?先来看下常规的。解决PUT和DELETE请求时,_method方法到底好不好使呢??答案是,确实管用!那么实现其他类好使吗?答案是:在springboot中不适用。因为它没有XML可以配置。OK,好了,既然你说_method能解决PUT请求,那就用它呗。答案是,肯定不行。为啥不行呢?

你想一想,你要去用PUT,DELETE,说明什么?肯定是RestFul请求啊,对不对。既然是rest,那么肯定会部署服务器啊,那么服务器的端口和地址肯定不是你本机吧,那你怎么指定啊?涉及什么问题啊,跨域,是跨域了,对不对?都跨域了,你是不是应该解决跨域问题啊。那你这个_method方法还能搞定需求吗,指定不能啊。那咋办啊?网上有很多答案,比如jsonp啊,$.getJSON啊等等,太多太多。但实际解决的问题,很少。比如jsonp他的返回格式需要callback,那么你封装json时就要加入callback,那么就毁坏了rest的格式。至于其他的,更别提了,不实用。

直接看代码,

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;@Configuration
public class CrossDomain extends WebMvcConfigurerAdapter {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOrigins("*").allowedMethods("GET", "HEAD", "POST","PUT", "DELETE", "OPTIONS").allowCredentials(false).maxAge(3600);}
}

直接把这个代码粘贴进去启动,就会完成跨域的安全性过滤。

原理还得看代码。以后有时间,我会和大家一起分析代码。先到这吧,谢谢。

springboot实现ajax跨域请求相关推荐

  1. Spring Boot学习总结(6)——SpringBoot解决ajax跨域请求问题的配置

    ajax是一种创建交互式网页应用的网页开发技术,是一种用于创建快速动态网页的技术,通过在后台与服务器进行少量数据交换.而ajax的跨域问题则是请求了其他项目的接口地址,当协议.子域名.主域名.端口号中 ...

  2. SpringBoot2.1.5 (22)--- SpringBoot设置支持跨域请求

    SpringBoot2.1.5 (22)--- SpringBoot设置支持跨域请求 现代浏览器处于安全的考虑,在http/https请求时必须遵守同源策略,否则即使跨域的http/https 请求, ...

  3. SpringBoot设置允许跨域请求

    跨域 一个资源会发起一个跨域HTTP请求(Cross-site HTTP request), 当它请求的一个资源是从一个与它本身提供的第一个资源的不同的域名时 .比如说,域名A(http://doma ...

  4. js请求结果拦截机器_js利用jquery的jsonp来解决ajax跨域请求被浏览器拦截结果的问题...

    先来个表.页面太多对不起我也不知道这张表是从哪个博客保存过来的,所以无法注明博客地址.非常抱歉.URL说明是否允许通信 http://www.a.com/a.jshttp://www.a.com/b. ...

  5. JSONP实现Ajax跨域请求

    前言 由于浏览器存在同源策略的机制,所谓同源策略就是阻止从一个源(域名,包括同一个根域名下的不同二级域名)加载的文档或者脚本获取/或者设置另一个源加载的文档属性. 但比较特别的是:由于同源策略是浏览器 ...

  6. 用iframe设置代理解决ajax跨域请求问题

    用iframe设置代理解决ajax跨域请求问题 参考文章: (1)用iframe设置代理解决ajax跨域请求问题 (2)https://www.cnblogs.com/ranzige/p/370965 ...

  7. Ajax跨域请求,无法传递及接收cookie信息解决方案

    Ajax跨域请求,无法传递及接收cookie信息解决方案 参考文章: (1)Ajax跨域请求,无法传递及接收cookie信息解决方案 (2)https://www.cnblogs.com/yalong ...

  8. Ajax跨域请求action方法,无法传递及接收cookie信息(应用于系统登录认证及退出)解决方案

    Ajax跨域请求action方法,无法传递及接收cookie信息(应用于系统登录认证及退出)解决方案 参考文章: (1)Ajax跨域请求action方法,无法传递及接收cookie信息(应用于系统登录 ...

  9. AJAX跨域请求数据原理与案例

    1.如何通过AJAX跨域请求数据 AJAX通过jsonp来实现跨域请求数据,通过设置dataType(jquery)为jsonp即可. 2.AJAX如何通过jsonp实现跨域(来源于其他网站资料) J ...

最新文章

  1. andoridView修改
  2. boost::mpi模块all_to_all() 集合的测试
  3. struts2 datetimepicker标签的使用
  4. HDU - 1540 Tunnel Warfare(线段树+区间合并)
  5. C++ 20 进入倒计时,有哪些值得期待的新特性?
  6. 使用HTML Help Workshop将HTML转为CHM
  7. 用js判断空对象的几种方法
  8. jwplayer 初始化设置项
  9. Kali Linux信息收集工具全集
  10. 关于FileOpen2插件安装apk时闪退的解决办法
  11. 用一个电位器调节音调的简单电路
  12. 常用的JavaScript位操作(Bitwise)
  13. 调用微信红包接口返回(转)
  14. About 9.18 This Week
  15. UVA11134_Fabled Rooks
  16. CH32F203C8T6 32位增强型低功耗Cortex-M3单片机
  17. 叮,一份详细的LIN收发器选型指南请查收
  18. [PRIMITIVE TECHNOLOGY]澳洲小哥的黑皮豆/black been/摩顿湾板栗(栗子)/Moreton Bay Chestnut...
  19. Abaqus实体网格类型与划分
  20. 【半导体先进工艺制程技术系列】HKMG工艺技术(上)

热门文章

  1. lol影流区服务器不稳定,影流服务器卡顿问题 影流的朋友进来 麻烦告知下
  2. unicode字符集特殊符号对应html/js/css符号
  3. 我的计算机打开怎么反了方向,我的电脑图标左右反了,该怎么办
  4. 人力资源管理师等级,对应的职责和能力要求是什么
  5. Cinema 4D 频繁崩溃,这样解决!
  6. Python获取字符串的长度
  7. android 加载大图 代理,Android 加载大图
  8. 计算机应用基础word2010文字处理,计算机应用基础(Word 2010 文字处理系统)
  9. N叶水仙花数_Java
  10. 简要评说Adobe的FlashPlayer的渲染算法