什么是跨域 , 跨域问题如何解决?
跨域问题是我们前端开发中经常会遇到的问题,遇到这样的问题,我们如何解决呢?
主要内容
- 错误原因分析
- 用CORS来解决
一、错误原因分析
1.get接口
2.点击按钮ajax发送请求
3.当我们在小黑窗启动接口,点击按钮ajax发送请求时,就会报错,下图就是跨域错误
4.什么原因导致了浏览器报跨域错误呢?
(1)先认识下什么是跨域错误?
域错误就是:不同源
的ajax请求
====> 报跨域的错误,简单来说就是发起ajax请求的那个页面的地址 和 ajax接口地址 不在同一个域中
(2)浏览器向web服务器发起http请求时 ,如果同时满足以下三个条件
时,就会出现跨域问题,从而导致ajax请求失败.
①请求响应双方url不同源。
双方url:发出请求所在的页面 与 所请求的资源的url
同源是指:协议相同
,域名相同
,端口相同
都相同。
②请求类型是xhr请求。就是常说的ajax请求。不是请求图片资源,js文件,css文件
③浏览器觉得不安全。跨域问题出现的基本原因是浏览器的同源策略。同源策略是一个重要 的安全策略,它限制一个origin的文档或者它加载的脚本如何能与另一个源的资源进行交互。
2.解决跨域
①可以安装一个浏览器插件allow-control-allow-origin
绕过同源策略。用postman软件测试
②cors来解决
cors是一个包需要单独下载下来使用
下载完后,我们在看看点击按钮ajax发送请求的结果
总结
这里对跨域进行了描述,我们在网络中不同源的请求有很多,但有的不是在不同源的ajax发送的请求,所以不会报错
以上就是今天要讲的内容,本文仅仅简单介绍了跨域,也给大家提供了快速便捷地处理跨域问题的方法。
什么是跨域 , 跨域问题如何解决?相关推荐
- 跨域产生的原因及解决方法
跨域产生的原因及解决方法 参考文章: (1)跨域产生的原因及解决方法 (2)https://www.cnblogs.com/keai/p/11418138.html 备忘一下.
- Ajax跨域问题的两种解决方法
Ajax跨域问题的两种解决方法 参考文章: (1)Ajax跨域问题的两种解决方法 (2)https://www.cnblogs.com/pandang/p/5341250.html 备忘一下.
- 深入跨域问题(2) - 利用 CORS 解决跨域
阅读目录: 深入跨域问题(1) - 初识 CORS 跨域资源共享: 深入跨域问题(2) - 利用 CORS 解决跨域(本篇) 深入跨域问题(3) - 利用 JSONP 解决跨域 深入跨域问题(4) - ...
- 跨域问题的产生及解决方法
域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation).信任关系是连接在域与域之间的桥梁.当一个域与其他域建立了信任关系后,2个域之 ...
- [html] 使用a标签的download属性下载文件会有跨域问题吗?如何解决?
[html] 使用a标签的download属性下载文件会有跨域问题吗?如何解决? 最近刚遇到这个问题,后台返回的图片链接,点击按钮批量下载,a标签的 download 属性只对同源文件有效, 所以我们 ...
- 论文浅尝 | XQA:一个跨语言开放域问答数据集
论文笔记整理:刘晓臻,东南大学计算机科学与工程学院本科生. Citation: Liu, J., Lin, Y., Liu, Z., & Sun, M. (2019,July). XQA: A ...
- 跨域问题深入理解以及解决办法
跨域问题深入理解以及解决办法 参考文章: (1)跨域问题深入理解以及解决办法 (2)https://www.cnblogs.com/mhtss/p/9355956.html (3)https://ww ...
- 跨域访问的相关概念及解决方法
浏览器的同源策略 理解"跨"之前, 先来看看它的反义词 "同". 出于安全的考虑,一个站点只能访问同源的资源:对于不同源的资源,是禁止访问的. 这里有几个问题? ...
- 关于跨域获取cookie问题的解决
关于跨域获取cookie问题的解决 参考文章: (1)关于跨域获取cookie问题的解决 (2)https://www.cnblogs.com/whoamme/p/3598889.html 备忘一下.
- Springboot中关于跨域问题的一种解决方法
Springboot中关于跨域问题的一种解决方法 参考文章: (1)Springboot中关于跨域问题的一种解决方法 (2)https://www.cnblogs.com/zishu/p/107272 ...
最新文章
- 柚子小姐,Happy Birthday
- linux驱动篇之 driver_register 过程分析(二)bus_add_driver
- 面试官 | 线程间是如何通信的?
- the java home_the java_home environment variable is not defined correctly
- 阿里飞天大数据平台正式亮相:国内最大计算平台
- 撩开Docker的面纱
- linux脚本转win7脚本,使用一个脚本让Ubuntu“变身”Windows7
- 买茶叶想到的哪个比较便宜 x1/y1 x2/y2 x代表多少钱 y代表 多少克 无聊的试炼...
- 多款 D-Link 路由器受多个 RCE 漏洞影响
- Spring整合Redis作为缓存
- Structured Streaming + Kafka测试
- javaScript 判断一个数是不是质数(素数)
- oracle 定义变量 查询,Oracle定义PL/SQL变量
- css的语法结构由3部分组成,CSS语法
- 青果教务管理系统存储型XSS 一枚
- 按右手定则求已经知三点的法向量
- Python 学习笔记 - 函数
- GitHub 上 100K+ Star 的前端面试开源项目汇总(进大厂必备)
- snipaste滚动截图方法_老板让你把整个网页截图形成长图,具体怎么做?
- H3c 详细Raid配置过程
热门文章
- C语言实现矿井逃生游戏(附完整源码)
- 正月初二,大鹏杨梅坑之旅
- linux scp命令使用详解
- 眼球PHP,死亡创造者 死亡之眼生化评测
- python函数的定义
- set和multiset的用法详解
- 电销机器人综合评测:精品=智能+线路+话术+服务
- vue-router报错的解决方法vue-router.esm.js?8c4f:2065 Uncaught (in promise) NavigationDuplicated:
- 关系代数(关系代数的五个基本操作)
- 机器学习之重点汇总系列(二)——K近邻算法(k-Nearest Neighbor,kNN)