zepto,kissy前端框架实现跨域
三、jsonp的原理:带有src属性标签的跨域资源获取能力,在jsonp中通常使用<script>标签,因为<script>标签获取的跨域资源可以使用回调函数直接处理
jsonp的实现:
前端代码:
<script>
function callback(data){
console.log(data);
}
</script>
<script type="text/javascript" src="//www.remote.com/remote.php?callback=callback"></script>
后台代码 <www.remote.com/remote.php>
if(isset($_GET["callback"])){
$server_name = $_SERVER["SERVER_NAME"];
$path = $_SERVER["PHP_SELF"];
$query_string = $_SERVER["QUERY_STRING"];
if($query_string!=""&&$query_string!=null){
$query_paras = explode("&", $query_string);
$query_array = array();
$query_length = count($query_paras);
for($i=0;$i<$query_length;$i++){
$paras = explode("=", $query_paras[$i]);
$query_array[$paras[0]]=$paras[1];
}
$data = array("server_name"=>$server_name,"path"=>$path,"query_paras"=>$query_array);
}else{
$data = array("server_name"=>$server_name,"path"=>$path);
}
$callback = $_GET["callback"];
echo $callback . "(" . json_encode($data) . ")";
后台服务器将需要返回的json数据进行封装,然后并不直接返回json,而是返回一句js代码,
echo $callback . "(" . json_encode($data) . ")";
这句代码将返回的json数据调用回调函数直接进行处理
四、zepto实现jsonp
function getData(){
$.ajax({
type: 'GET',
url: '//www.homeworksong.sinaapp.com/getUrlInfo.php?callback=?',
timeout: 300,
context: $('tbody'),
data: { name: 'Zepto',type:"JSONP" },
success: function(data){
console.log(data);
},
error: function(xhr, type){
alert('Ajax error!')
}
});
}
五、kissy实现jsonp
require(["io","node","util"],function(IO,$,Util){
IO.jsonp("http://www.homeworksong.sinaapp.com/getUrlInfo.php",{type:"JSONP",name:"Kissy" },function(data){
console.log(data);
});
});
});
zepto,kissy前端框架实现跨域的更多相关文章
- Django框架 之 跨域请求伪造
Django框架 之 跨域请求伪造 浏览目录 同源策略与Jsonp 同源策略 Jsonp jQuery对JSONP的实现 CORS 简介 两种请求 同源策略与Jsonp 同源策略 同源策略(Same ...
- 解决使用elementUI框架el-upload跨域上传时session丢失问题
解决方法一: 1.使用elementUI框架el-upload跨域上传时,后端获取不到cookie,后端接口显示未登录,在添加了 with-credentials="true"后依 ...
- SSM框架处理跨域问题
什么是跨域 跨域是指从一个域名的网页去请求另一个域名的资源.比如从www.baidu.com 页面去请求 www.google.com 的资源.跨域的严格一点的定义是:只要 协议,域名,端口有任何一个 ...
- 前端JavaScript实现跨域的方式(转)
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...
- Vue 本地代理 纯前端技术解决跨域
vue-axios获取数据很多小伙伴都会使用,但如果前后端分离且后台没设置跨域许可,那要怎样才能解决跨域问题? 常用方法有几种: 通过jsonp跨域 通过修改document.domain来跨子域 使 ...
- 前端JSONPJIE解决跨域问题
解决同源策略的两个方法 1 . JSONP jsonp (将 JSON 数据填充进回调函数,这就是JSONP的JSON+Padding 的含义) jsonp是json用来跨域的一个东西,原理是通过sc ...
- 前端-关于CORS跨域的解决方案,面向服务端
最近自己在写后台管理系统的时候,并没有采用jsp.freemaker.叶子等模板技术,而是由后端提供数据api,前端通过AJAX和JQuery来动态操作页面上的一些div.table元素,从而实现报表 ...
- 关于laravel框架的跨域请求/jsonp请求的理解
最近刚接触laravel框架,首先要写一个跨域的单点登录.被跨域的问题卡了两三天,主要是因为对跨域这快不了解,就在刚才有点茅塞顿开的感觉,我做一下大概整理,主要给一些刚接触摸不着头脑的看,哪里写得不对 ...
- 微信授权、获取用户openid-纯前端实现——jsonp跨域访问返回json数据会报错的纯前端解决办法
近来,倒霉的后台跟我说让我拿个openid做微信支付使用,寻思很简单,开始干活. 首先引导用户打开如下链接,只需要将appid修改为自己的就可以,redirect_url写你的重定向url https ...
随机推荐
- 高并发环境下,Redisson实现redis分布式锁
原文:http://tlzl0526-gmail-com.iteye.com/blog/2378853 在一些高并发的场景中,比如秒杀,抢票,抢购这些场景,都存在对核心资源,商品库存的争夺,控制不好, ...
- ubuntu安装elasticSearch及插件
原文地址:http://www.niu12.com/article/18 前提 1.安装好Java1.8以上环境并配置好JAVA_HOME(elasticsearch运行环境) 2.node环境6.5 ...
- android4.1 JELLY_BEAN:All WebView methods must be called on the same thread[问题已解决]
11-06 18:29:15.582: W/WebView(27807): java.lang.Throwable: A WebView method was called on thread 'Ja ...
- Win8安装程序出现2502、2503错误解决方法
我是在安装VMware virtualbox的时候遇到的这个问题,上网百度了一下发现这是个在win8系统上安装程序时才会遇到的. 究其原因这个问题还是由于权限问题导致的,解决方法如下: 1,ctrl+ ...
- 流畅的python第七章函数装饰器和闭包学习记录
本章讨论的话题 python如何计算装饰器句法 python如何判断变量是不是局部的(通过函数内部是否给变量赋值过来判断是否是局部变量) 闭包存在的原因和工作原理(闭包是一种函数,它会保留定义函数时存 ...
- jstl中取map,其中map的key是一个对象,value是一个list
<c:forEach items="${map }" var="item"> //取得key中的属性 ${item.key.name } <c ...
- hdoj-1301-Jungle Roads【最小生成树】
Jungle Roads Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- os.waitpid()无法获取sys.exit()退出时的status code
[目的] 父进程使用os.waitpid()等待子进程退出,并检测子进程的exit code,以决定是否重启子进程. (常见的应用场景是:子进程接收外部命令,收到"stop"时退出 ...
- java线程总结(4/5)
转自:http://blog.csdn.net/qiaqia609/article/details/8067356 整理的一些关于线程的面试题目: 46.java中有几种方法可以实现一个线程?用什么关 ...
- MyCAT学习总结
MyCAT介绍 简单的说,MyCAT就是: 一个彻底开源的,面向企业应用开发的“大数据库集群” 支持事务.ACID(指数据库事务正确执行的四个基本要素的缩写.包含:原子性(Atomicity).一 ...