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

跨域简单了解(jsonp)

发布时间:2020-12-16 18:55:41 所属栏目:百科 来源:网络整理
导读:跨域 : 只要协议、域名、端口有任何一个不同,都被当作是不同的域。 因为存在不同的域, 在js中,我们直接用 XMLHttpRequest 请求不同域上的数据时,是不可以的。但是,在页面上引入不同域上的js脚本文件却是可以的,jsonp正是利用这个特性来实现的。 jsonp

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


因为存在不同的域,在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的。但是,在页面上引入不同域上的js脚本文件却是可以的,jsonp正是利用这个特性来实现的。


jsonpjson+padding,可理解为把JSON填充到一个盒子里。

像这样:callbackFunction(["customername1","customername2"]);

看菜鸟教程中的例子,JSONP由两部分组成:回调函数和数据。回调函数是当响应到来时应该在页面中调用的函数,而数据就是传入回调函数中的JSON数据。js文件载入成功后会执行我们在url参数中指定的函数,并且会把我们需要的json数据作为参数传入。


但是,使用jsonp跨越,只支持GET请求而不支持POST等其它类型的HTTP请求;只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行js调用的问题。


其他跨越方法还有:

CORS

通过修改document.domain来跨子域

使用window.name来进行跨域

使用HTML5中新引进的window.postMessage方法来跨域传送数据

(编辑:李大同)

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

    推荐文章
      热点阅读