JSONP的理解
来源:互联网 发布:java聚类分析 编辑:程序博客网 时间:2024/05/29 09:57
JSONP是跨域获取JSON的方式;有一篇文章介绍的挺详细:http://www.cnblogs.com/yuzhongwusan/archive/2012/12/11/2812849.html
简单来说,在获取JSON数据时浏览器不允许跨域,但是某些情况下必须跨域怎么办,刚好script标签可以跨域加载JS,script加载JS的方式是获取src,然后立即当作JS代码来执行;
例如:
$('#test').click( function(){ $.getJSON( 'http://www.baidu.com', funtion(re){ console.log(re); } ); } );(当然那个URL是获取不到JSON的)这样的话浏览器不允许获取;
想要获取怎么办?
只能这样了
$('#test').click( function(){ create_script('http://www.baidu.com'); } ); function create_script(url) { $('<script><//script>').attr('src', url).appendTo('body'); } function json_call_back(json) { console.log(json); }这样对服务端的要求很高,服务端要返回一个类似这样的数据才行
json_call_back({"1":lk});
那么其实可以进一步将客户端和服务端统一一下;
客户端这边提供一个call_back方法名
src="www.baidu.com?call_bakc=json_call_back"
到现在为止JSONP的原理已经说明了,我在想既然浏览器不允许跨域访问,那么这样算不算钻浏览器的空子?算不算浏览器的一个BUG?还是以后浏览器可以跨域获取JSON?
不管那么多,在JQuery里面已经将上述的封装好了;类似下面:
$("#test").click(function () { $.ajax({ url: 'http://www.baidu.com', dataType: "jsonp", jsonp: "callback", success: function (data) { console.log(data) } })})
0 0
- 关于JSONP的理解
- JSONP的理解
- 关于jsonp的理解
- 关于jsonp的理解
- 关于JSONP的理解
- jsonp 跨站的理解
- JSONP理解
- JSONP理解
- 理解JSONP
- 对于JSON和JSONP的理解
- ajax中关于jsonp协议的理解
- jsonp易于理解的简洁实例
- JSON和JSONP理解
- JSON JSONP理解
- 对Json 和jsonp跨域请求数据 的理解
- 对jQuery ajax jsonp的理解和使用实例
- 从原理上理解jsonp
- 理解回调函数与jsonp的原理(个人理解)
- 51 js-unit
- iOS开发之私有API No.1 私有API的查找和生成
- jpg转换成pdf应该怎么做
- Hive函数大全(二)
- fsminit.cpp
- JSONP的理解
- 程序员的进步从阅读自己的老代码开始
- C#使用UUID生成ID
- ios图片局部拉伸
- Hbase 创建,插入,查询
- python 基础知识点整理 和具体应用
- XXX could not be redeployed because it could not be completely removed in the undeployment phase. th
- org.apache.commons.httpclient.HttpClient请求乱码问题
- Android UI学习 - Menu