利用jsonp实现跨越获取数据
来源:互联网 发布:怪物猎人ol win10优化 编辑:程序博客网 时间:2024/05/21 10:23
JSONP名为JSON with Padding,它是一个非官方的协议,允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问。
以JQ为例实现jsonp调取数据,我们可以从下面两个方面着手处理:客户端以及服务端做相应的处理。
1,客户端
客户端页面首先在body 中放置一个div: <div id="res"></div> 将远程调用的数据写入该div中
Code:
<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url:http://192.168.9.1/jsonp_test.ashx,
dataType:"jsonp",
jsonp:"jsonpcallback",
success:function(data){
var $ul = $("<ul></ul>");
$.each(data,function(i,v){
$("<li/>").text(v["id"] + " " + v["name"]).appendTo($ul)
});
$("#res").append($ul);
}
});
});
</script>
<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url:http://192.168.9.1/jsonp_test.ashx,
dataType:"jsonp",
jsonp:"jsonpcallback",
success:function(data){
var $ul = $("<ul></ul>");
$.each(data,function(i,v){
$("<li/>").text(v["id"] + " " + v["name"]).appendTo($ul)
});
$("#res").append($ul);
}
});
});
</script>
也可以通过JQ的getJSON方法得到数据,例:
$(document).ready(function(){
$("#btn").click(function(){
//获取动态验证码
var url = "http://192.168.9.1/jsonp_test.ashx";
$("#btn").click(function(){
//获取动态验证码
var url = "http://192.168.9.1/jsonp_test.ashx";
try {
$.getJSON(url,function(json) {
var _DECODE = json[0].name;
$("#res").append(name);
});
} catch (e){
}
});
});
$.getJSON(url,function(json) {
var _DECODE = json[0].name;
$("#res").append(name);
});
} catch (e){
}
});
});
2,服务端(http://192.168.9.1/jsonp_test.ashx)
代码很简单,就是输出一个字符串
比如正常输出json应该是:[{"id":"1","name":"测试1"},{"id":"2","name":"测试2"}]
jsonp 则输出: jsonpcallback([{"id":"1","name":"测试1"},{"id":"2","name":"测试2"}])
其中“jsonpcallback”是客户端传过来的.
做到这里一个简单的jsonp跨域获取数据的demo就完成了。
- 利用jsonp实现跨越获取数据
- jsonp实现跨越js调用的原理
- 利用jquery和jsonp来获取跨站数据,并实现cookie共享
- NodeJs 实现 jsonp 方式获取xml数据
- jsonp获取json数据
- AJAX利用JSONP方式实现跨域数据传递
- jsonp的跨越请求
- jsonp + php 跨越请求
- 通过jsonp来实现跨域访问获取数据!!!
- java 跨越访问 (jquery,jsonp)
- JFinal ajax 跨越请求 jsonp
- JSONP跨越不理解的地方
- 利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
- 利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
- 利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
- js利用jsonp实现跨域
- JQuery利用JSONP实现跨域请求
- 利用jsonp实现百度搜索下拉框
- 常用RGB颜色表(一)
- static 作用
- myeclipse+tomcat转载 还不错
- 无参toArray 和有参数toArray(T[]contents)的区别
- STRUTS2.0 常用标签
- 利用jsonp实现跨越获取数据
- Deployment failure on Tomcat 6.x. Could not copy all resources to
- extjs 4 api englist
- 管道 非阻塞 duxie
- ORA-01653:表空间扩展失败的问题
- ubuntu10.04下安装java(JDK)和Eclipse C&C++编译器
- WinAPI: ShellExecute - 打开外部程序或文件
- C++沉思录读书笔记(13、14章)-简单容器类的改进
- FLEX日期处理方法