JavaScript跨域访问
2016-03-29 17:12
429 查看
一、Jsonp
现在有一个一段代码
如果想动态地添加和访问,那就动态的添加scrpt代码,后台代码不变,前台代码testJsonp.html如下
Filename :testJsonp.html
Jquery里有$.getJson()的方法,有俩个参数,第一个是url,第二个是callback函数,实际上帮助我们省掉了添加script代码等工作,即插即用,很方便
二、Access-Control-Allow-Origin:*
这段内容参考/article/2504322.html
主要内容就是,服务器允许客户端的访问
在服务器端设置header,如
三、postMessage
这是html5的东西,有时间来研究一下
四、window.name
参考/article/5062181.html
主要就是,通过iframe的src引入跨域的页面,但是原来页面有不能跨域访问iframe里的东西,所以可以在iframe的onload设置iframe的src为同一域名下,然后window的属性却没有变,然后就可以访问window.name了。这个有空来试,还没有可供测试的其他域名。
看到一篇博客总结的蛮到位的,/article/2079028.html
现在有一个一段代码
<script type="text/javascript" src="./testJsonp.php?callback=getInfo"></script>那么,后台通过GET拿到参数callback,然后返回Js的代码,后台返回的内容会被当作Js解析
<?php $callback = $_GET['callback']; /*$data = { "name":"ruiy", "age":20 };*///php里的对象不是这么写的 $data = array("name"=>"ruiy","age"=>20); $data = json_encode($data); echo $callback."($data)";那么前台这里写好回调函数
function getInfo(res){ console.log(res); alert(res.name+":"+res.age); }
如果想动态地添加和访问,那就动态的添加scrpt代码,后台代码不变,前台代码testJsonp.html如下
Filename :testJsonp.html
<!DOCTYPE html> <html> <head> <title>testJsonp</title> </head> <body> <script type="text/javascript"> // 动态的加入script片段,以跨域访问 var scriptTag = document.createElement("script"); scriptTag.setAttribute("type", "text/javascript"); scriptTag.setAttribute("src","./testJsonp.php?callback=getInfo"); document.getElementsByTagName("head")[0].appendChild(scriptTag); function getInfo(res){ console.log(res); alert(res.name+":"+res.age); } </script> </body> </html>
Jquery里有$.getJson()的方法,有俩个参数,第一个是url,第二个是callback函数,实际上帮助我们省掉了添加script代码等工作,即插即用,很方便
二、Access-Control-Allow-Origin:*
这段内容参考/article/2504322.html
主要内容就是,服务器允许客户端的访问
在服务器端设置header,如
三、postMessage
这是html5的东西,有时间来研究一下
四、window.name
参考/article/5062181.html
主要就是,通过iframe的src引入跨域的页面,但是原来页面有不能跨域访问iframe里的东西,所以可以在iframe的onload设置iframe的src为同一域名下,然后window的属性却没有变,然后就可以访问window.name了。这个有空来试,还没有可供测试的其他域名。
看到一篇博客总结的蛮到位的,/article/2079028.html
相关文章推荐
- javascript跳跃式前进(1) - 基本概念
- js屏蔽浏览器默认事件
- 【菜鸟手打js】@弹出遮罩层显示大图之四
- 一个小算法记录
- js去掉html标签和去掉字符串文本的所有的空格
- javascript对全局变量值的修改(如记数器)
- Ember.js学习项目源码发布
- javascript声明提升现象及严格模式
- 【自学笔记】 JavaScript 字符串对象 添加样式
- JS中onclick事件传参
- JS正则表达式及exec和match的区别
- javascript的时间事件
- 基于javascript实现tab切换特效
- js一对多,添加属性
- js获取文件大小
- 再见,RichFaces
- js判断为空
- js继承
- 基于javascript实现简单的抽奖系统
- js获取某个div下的input