加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

解决ajax跨域问题

发布时间:2020-12-16 03:30:45 所属栏目:百科 来源:网络整理
导读:1、什么是跨域? 是两个不同的域互相请求,这个称之为跨域。 具体哪些算是跨域如下所示: 那么为什么需要解决跨域问题? 由于浏览器的同源策略的限制,必须要求ajax请求为同一域。 什么是同源呢?? 同源策略(Same originpolicy)是一种约定,它是浏览器最

1、什么是跨域?

是两个不同的域互相请求,这个称之为跨域。
具体哪些算是跨域如下所示:

那么为什么需要解决跨域问题?
由于浏览器的同源策略的限制,必须要求ajax请求为同一域。
什么是同源呢??

同源策略(Same originpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现
所谓同源是指,域名,协议,端口相同。

2、模拟跨域请求

跨域的体现:

3、跨域问题的解决【重点&难点】

现在是通过一个技术“jsonp技术”。
问:jsonp和json是什么关系?
答:这2者没有一毛钱关系。Jsonp非官方协议主要是用于解决跨域问题,json是一个数据传输的格式。

3.1、前辈是如何解决跨域问题

上述的方法就是现在jsonp的原型。
3.2、目前主流的跨域问题的解决方法
3.2.1、XHR2解决跨域问题
XHR2:XMLHttpRequest Level2
核心:在被请求的文件中添加一个header头。
缺点:在IE10以下的浏览器不支持。

但是:这个解决方案是符合W3C标准的,也是其提倡的解决方案,这个方法在移动端也是支持的。

3.2.2、代理方式
核心:代理

让ajax请求本地服务器 服务器处理请求问题

3.2.3、jQuery中的ajax方法
例如:$.get方法、$.getJSON方法
Get方法:

要求1:请求期望返回数据类型必须是jsonp;
要求2:必须在请求地址上带一个参数名;

GetJSON方法:
该方法和get方法基本一致,只是在发送请求的时候略有差异

要求1:参数callback后面的“=?”不能省略,必须要写;要求2:和get方法不一样,jsonp作为期望的返回数据类型,可以不写;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读