请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需要一步,快速开始

搜索
开启左侧

如何去处理JS跨域问题怎样能学好Web前台开发

马上注册,分享更多源码,享用更多功能,让你轻松玩转云大陆。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如何去处理JS跨域问题?怎样能学好Web前台开发?JavaScript跨域是指通过JS在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或通过JS获取页面中不同域的框架中(iframe)的数据。只需协议、域名、端口有任何一个不同,都被当作是不同的域。那么如何处理跨域问题呢?下面来看看吧。
在此之前,我们首先要理解为什么需要跨域。跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。简单来说,跨域的作用就是让你能访问不是一个域的文件。
pBG9J0BuVqzj0qjX.jpg 要处理跨域问题,我们可以使用以下几种方法:
一、通过jsonp跨域(实际上是动态创建script标签)
jsonp(json with Padding)是资料格式json的一种“使用模式”,可以让网页从别的网域要资料。jsonp也叫填充式json,是应用json的一种新方法,只不过是被包含在函数调用中的json。jsonp由两部分组成:回调函数和数据。回调函数是当响应到来时应该在页面中调用的函数,而数据就是传入回调函数中的json数据。
二、通过document.domain+ iframe (只有在主域相同的时候才能使用该方法)
两个不同域的a.html和b.html
处理办法:在两个页面都插入document.domain,这样就能访问iframe里window对象的各种属性。
三、使用window.name来进行跨域
原理:在一个窗口(window)的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每个页面对window.name都有读写的权限
四、使用HTML5的window.postMessage方法来跨域传送数据​
五、利用CORS
CORS是自己设置HTTP头部,使浏览器和服务器对比,从而决定请求和响应能否应该进行。
IE8使用XDR对象实现CORS,和XHR相似用法
现代浏览器使用普通的XMLHttpRequest对象请求就行。
当然,实现JavaScript跨域的方法还有图片Ping、利用flash等。跨域是前台最重要的面试题之一,掌握它你就比别人多了一个优势,假如你想学好Web前台开发,建议参与专业的学习方式。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

广告招商