mydy.net
当前位置:首页 >> js跨域的几种方法 >>

js跨域的几种方法

js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议、域名、端口有任何一个不同,都被当作是不同的域.

如果是前端后跨域的话,就是用jquery的jsonp吧,如果是iframe之间跨域通讯就用html5的postMessage()来通讯吧

1什么是跨域:不同域名网站之间的通信叫做跨域比如你的项目需要访问百度的网站上的内容就是跨域2跨域的实现方法:jsonp ,cors.

jsonp是跨域实现原理是调用另一个域名的js脚本方式

一、什么是跨域我们先回顾一下域名地址的组成:http:// www . google : 8080 / script/jquery.js http:// (协议号) www (子域名) google (主域名) 8080 (端口号)

利用httprequest对象异步获取别的网站的页面html,然后把结果插入到页面某个元素下面(通常是div,iframe) 如:document.all.div.innerhtml = resulthtml 或 docuemnt.iframe.document.body.innerhtml=resulthtml 最后你就可以为所欲为了.

解决js跨域问题有以下一种方式使用jsonp服务端代理服务端设置Request Header头中Access-Control-Allow-Origin为指定可获取数据的域名

b里再通过iframe调用与a.html同域的一个html代理页,比如叫c.htmlc.html里,可以调用a.html的方法,比如a.html里预设了一个function a(){},用来改变页面元素,则在c里,可以直接top.a()来调用.当然通过b调用c.html的时候,可以传一些参数过来,这样就可以动态修改a了

什么是跨域 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦.这里把涉及到跨域的

通过script标签来请求,原理就是在本域内的A内生成一个JS标签,它的SRC指向请求的另外一个域的某个页面B,这个src里面通常会加一个A页面定义好的回调函数,B返回数据即可,可以直接返回调用这个回调函数,这种跨域的通信方式被称为JSONP,此方案存在的缺陷是, script的src属性完成该调用时采取的方式时get方式,如果请求时传递的字符串过大时,可能会无法正常运行.

网站首页 | 网站地图
All rights reserved Powered by www.mydy.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com