基于Jquery的跨域传输数据(JSONP)


Posted in Javascript onMarch 10, 2011

后端:

<?php 
$json_str = json_encode(array("ddd"=>"11111111")); 
echo $_GET['ja'].'('.$json_str.')'; 
?>

前端:
$.getJSON('http://www.liushan.cn/test.php?ja=?',function (json){ 
alert(json); 
});

纯JS实现(JSONP):
//server return aa({'ddd':'ddd'}) callback function name: $_GET['callback'] 
//author:lonely 
(function(w){ 
function getjson(){} 
getjson.prototype.set=function(url,callback,callbackname){ 
this.callfn=callbackname||'urlcallback'; 
this.url=url+"?callback="+this.callfn; 
try{ 
eval(this.callfn+"=function(data){\n"+ 
"callback(data);\n"+ 
'delete '+this.callfn+';}'); 
}catch(e){return;} 
this.request(); 
delete this.url; 
} 
getjson.prototype.request=function(){ 
var script=document.createElement("script"); 
script.src=this.url; 
var load=false; 
script.onload = script.onreadystatechange = function() { 
if(this.readyState === "loaded" || this.readyState === "complete"){ 
load=true; 
script.onload = script.onreadystatechange=null; 
} 
}; 
var head=document.getElementsByTagName("head")[0]; 
head.insertBefore(script,head.firstChild); 
} 
w.getjson=getjson; 
})(window) 
//使用DOME 
new getjson().set("http://www.test.cn/test.php",function(data){ 
alert(data.ddd); 
});

另一个:getScript
jQuery.getScript("http://dev.jquery.com/view/trunk/plugins/color/jquery.color.js", function(){ 
$("#go").click(function(){ 
$(".block").animate( { backgroundColor: 'pink' }, 1000) 
.animate( { backgroundColor: 'blue' }, 1000); 
}); 
});//CHM帮助文件示例
Javascript 相关文章推荐
JQuery 学习笔记 选择器之五
Jul 23 Javascript
JS打印gridview实现原理及代码
Feb 05 Javascript
利用Keydown事件阻止用户输入实现代码
Mar 11 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
Dec 08 Javascript
jQuery层次选择器用法示例
Sep 09 Javascript
PHP实现记录代码运行时间封装类实例教程
May 08 Javascript
angularjs $http实现form表单提交示例
Jun 09 Javascript
Vue组件之全局组件与局部组件的使用详解
Oct 09 Javascript
Vue利用canvas实现移动端手写板的方法
May 03 Javascript
p5.js临摹旋转爱心
Oct 23 Javascript
在Uni中使用Vue的EventBus总线机制操作
Jul 31 Javascript
在JavaScript中如何使用宏详解
May 06 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
Mar 10 #Javascript
Jquery中getJSON在asp.net中的使用说明
Mar 10 #Javascript
JQuery中的$.getJSON 使用说明
Mar 10 #Javascript
基于jquery的地址栏射击游戏代码
Mar 10 #Javascript
基于jquery的无缝循环新闻列表插件
Mar 07 #Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
Mar 07 #Javascript
jQuery总体架构的理解分析
Mar 07 #Javascript
You might like
php设计模式 Prototype (原型模式)代码
2011/06/26 PHP
PHP数据库调用类调用实例(详细注释)
2012/07/12 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
PHP编程求最大公约数与最小公倍数的方法示例
2017/05/29 PHP
Laravel框架源码解析之入口文件原理分析
2020/05/14 PHP
JavaScript中的Location地址对象
2008/01/16 Javascript
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
js获取网页可见区域、正文以及屏幕分辨率的高度
2014/05/15 Javascript
原生javaScript实现图片延时加载的方法
2014/12/22 Javascript
javascript面向对象程序设计(一)
2015/01/29 Javascript
jQuery晃动层特效实现方法
2015/03/09 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
深入理解AngularJS中的ng-bind-html指令
2017/03/27 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
微信小程序 实现点击添加移除class
2017/06/12 Javascript
微信小程序支付之c#后台实现方法
2017/10/19 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
JavaScript显式数据类型转换详解
2019/03/18 Javascript
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
javascript设计模式 ? 简单工厂模式原理与应用实例分析
2020/04/09 Javascript
常见的python正则用法实例讲解
2016/06/21 Python
Python如何快速实现分布式任务
2017/07/06 Python
python中实现延时回调普通函数示例代码
2017/09/08 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
2020/03/05 Python
python 轮询执行某函数的2种方式
2020/05/03 Python
python要安装在哪个盘
2020/06/15 Python
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
动物科学专业毕业生的自我评价
2013/11/29 职场文书
运动会解说词100字
2014/01/31 职场文书
平安工地汇报材料
2014/08/19 职场文书
2015年学生会纪检部工作总结
2015/03/31 职场文书
公开致歉信
2019/06/24 职场文书
解决SpringBoot文件上传临时目录找不到的问题
2021/07/01 Java/Android