1.跨域问题只出现在前端和后端不在同一个主机上。前后端在同一个主机上不会出现跨域问题。

2.浏览器的一种自我保护机制,不允许出现本地浏览器ajax异步请求访问127.0.0.1以外的系统,因为浏览器不知道远程系统是不是你的,不是你的系统,浏览器对ajax的保护机制就不允许你访问喽。

3.要想解决跨域问题:就要让浏览器知道这个系统是你的系统啊,怎么让浏览器知道呢?在后台系统的response header上设置一个header,叫Access-Control-Allow-Origin一个header。

下面就是具体怎么实现cors。首先,对于支持cors的浏览器,发送请求时,如果我们观察请求头会发现带有"Origin:http://example.taobao.com" ,该标识用来说明本次请求来自的域。要实现cors,只要在服务端在响应头部加上标识“Access-Control-Allow-Origin:http://example.taobao.com”,这样浏览器发现Access-Control-Allow-Origin和请求来自的域一致,就允许跨域访问资源example.taobao.com的资源了。对应服务端代码:
rundata.getResponse().setHeader("Access-Control-Allow-Origin", "http://example.taobao.com");

4.解决跨域的精髓是什么?

:http response返回给前端的header里包含了允许你访问这个系统的header。

controller上@cros注解的作用就是这个,向response的header里写这个header。

也可以在拦截器里设置这个response返回header,这样所有的返回都添加了这个header。就全局解决了跨域问题

最新文章

  1. iOS之微信支付
  2. MMORPG大型游戏设计与开发(服务器 AI 基础接口)
  3. 如何让一个json文件显示在表格里
  4. JPA使用入门
  5. Redis 配置文件
  6. 滴滴与Uber的竞争分析
  7. css之滚动条
  8. velocity整合servlet
  9. BZOJ 1040 【ZJOI2008】 骑士
  10. 【jQuery基础学习】04 jQuery中的表格操作及cookie插件的使用
  11. codeforces 468A. 24 Game 解题报告
  12. 用Ogre实现《天龙八部》场景中水面(TerrainLiquid)详解
  13. 解析 this.initialize.apply(this, arguments)
  14. NPM与调试工具的使用
  15. Angularjs directive全面解读(1.4.5)
  16. 《TCP/IP详解》读书笔记
  17. JSON字符串和JS对象
  18. Assert中的静态方法
  19. 一步步搭建Retrofit+RxJava+MVP网络请求框架(一)
  20. 运行web项目端口占用问题

热门文章

  1. Uniform Resource Identifier
  2. mysql-mmm 部署高可用集群
  3. Java异常归纳
  4. python⽤户登陆
  5. P1357 花园 (矩阵快速幂+ DP)
  6. vmware linux虚拟机与本地物理机共享文件夹
  7. LeetCode 翻转字符串里的单词
  8. Django框架基础知识14-类视图
  9. 2019年,Python工程师必考的6个面试题,Python面试题No5
  10. Uva 12325 Zombie's Treasure Chest (贪心,分类讨论)