前端跨域请求原理及实践

一、  跨域请求的含义

一般的,只要网站的 协议名protocol 主机host 端口号port 这三个中的任意一个不同,网站间的数据请求与传输便构成了跨域调用。这说明跨域请求并非是浏览器限制了发起跨站请求,而是请求可以正常发起,到达服务器端,但是服务器返回的结果会被浏览器拦截。

二、 利用 JSONP 实现跨域调用

JSONP JSON 的一种使用模式,可以解决主流浏览器的跨域数据访问问题。其原理是根据 XmlHttpRequest 对象受到同源策略的影响,而 <script> 标签元素却不受同源策略影响,可以加载跨域服务器上的脚本,网页可以从其他来源动态产生 JSON 资料。用 JSONP 获取的不是 JSON 数据,而是可以直接运行的 JavaScript 语句。

        2.2 使用 jQuery 集成的 $.ajax 实现 JSONP 跨域调用

        2.3 使用 <script> 标签原生实现 JSONP只能使用 GET 方法发起请求,这是由于 script 标签自身的限制决定的。由于不是通过 XmlHttpRequest 进行传输,所以不能注册 success error 等事件监听函数。

三、 使用 CORS 实现跨域调用

四、 一些其它的跨域调用方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值