首页 > 代码库 > jsonp
jsonp
同源策略:
动态内容(如javascript)只能阅读与之同源的哪些http应答和cookie。同源指的是域名、协议、端口号相同。但是,<script><img><iframe><link>的src属性可以跨域加载资源。
解决同源策略:
1.利用服务器来请求别的服务器的数据。
2.通过iframe来解决
3.src属性引入 像<script src=""></script>
index.html
<script>
var jsonpFunc = function(json){
for(var i in json){
console.info(json(i));
}
}
</script>
<script src="http://abc.com/test?callback=jsonpFunc"></script>
abc.com/test.php
<?php
$jsondata = "http://www.mamicode.com/{a:‘a‘,b:‘b‘}";
echo $_GET[‘callback‘].‘(‘.$jsondata.‘)‘;
?>
jsonp工作过程
1.首先在客户端定义一个函数,加载js文件并把这个函数名作为参数值传到服务器。
2.服务器拿到函数的名字,用js执行函数的形式打印出来作为返回,服务器生成的数据作为函数参数。
3.客户端会以<script>标签内内容的形式执行服务器的返回,这样在客户端页面里就能以服务器生成的值为入参来执行回调函数了
缺点:
1.不支持post方式。
2.安全漏洞
安全问题
待续。。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。