跨域请求的常用方式及解释

首先基于安全的原因,浏览器是存在这个机制的,同源策略阻止从一个域加载的脚本去获取另一个域上的文档属性。也就是说,受到请求的 URL 的域必须与当前 Web 页面的域相同。这意味着浏览器隔离来自不同源的内容,以防止它们之间的操作。

js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。

只要协议、域名、端口有任何一个不同,都被当作是不同的域。

 

下面介绍几种常用跨域请求方式

默认端口为:8080

一、利用jQuery获取jsonp JSONP的原理与实现思路

1)Web页面调用js文件,可跨域。扩展:但凡有src属性的标签都具有跨域能力。
2)跨域服务器 动态生成数据 并存入js文件(通常json后缀),供客户端调用。
3)为了便于客户端使用数据,形成一个非正式传输协议,称为JSONP。该协议重点是允许用户传递一个callback参数给服务器,然后服务器返回数据时 将此callback参数作为函数名包裹住JSON数据,使得客户端可以随意定制自己的函数来自动处理返回数据。

 

 1.1如果我们不用跨域请求的写法的话:

$('#cors1').click(function () { $.ajax({ type:'get', url:'http://localhost:8081/girl/hello/say', success:function (data) { console.log(data); } }) });

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwyxjs.html