受制于同源策略,一个域去请求另一个域的资源时,就会出现跨域的现象,而在
我们开发中,经常需要跨域去请求资源(例如:本地localhost,去请求测试环境
的资源),所以我们也就需要一些方法去解决这个跨域的问题
复制代码
一、使用jsonp 解决跨域
缺点:不安全,容易造成xss攻击;只能是GET请求
原理:
1.<script>标签的src属性不受同源策略的限制
2.跨域请求的接口返回的是一个函数调用,也就是调用我们应用中定义好的一个方法
复制代码
文章插图
接口返回的数据格式
文章插图
二、通过cors解决跨域
原理:在服务器端设置允许跨域的请求头,从而实现跨域
服务器设置后前端通过正常的ajax 请求即可
复制代码
文章插图
三、通过postMessage()实现不同源的两个页面间的通信
原理:1.postMessage()能在两个页面间通信
2.利用iframe
复制代码
文章插图
四、通过window.name 实现跨域
原理:
1.name在不同页面加载后仍旧存在,配合iframe
复制代码
文章插图
【解决跨域的四种方式】
推荐阅读
- 雪菊花茶功效与作用有哪些,菊花茶的功效有哪些
- 绿茶和红茶味道的区别,茉莉花茶的功效和好处
- 喝茉莉薄荷茶的好处有哪些,玫瑰花茶的副作用有哪些
- 不得不知道的一些docker知识,devops使用太频繁了
- 喝洛神花茶的功效与好处,洛神花茶的功效及其作用
- 用胖大海泡水次几个,玫瑰花茶泡水喝的功效
- 玫瑰花茶天天饮用可以还是不可以,玫瑰花茶泡水喝的功效
- 虫屎茶是什么茶,红花茶的作用
- 招聘|初入职场的苏轼也曾遭遇“职场霸凌”
- 职业教育|对于冷门专业的学生,该如何考取事业单位的工作?这几个方式很好