jsonp
2015-07-28 18:12
363 查看
JSONP也叫填充式JSON,
JSONP的优缺点
JSONP的优点是:它不像XMLHttpRequest对象实现的Ajax请求那样受到同源策略的限制;它的兼容性更好,在更加古老的浏览器中都可以运行,不需要XMLHttpRequest或ActiveX的支持;并且在请求完毕后可以通过调用callback的方式回传结果。
JSONP的缺点则是:它只支持GET请求而不支持POST等其它类型的HTTP请求;它只支持跨域HTTP请求数据这种情况,不能解决不同域的两个页面之间如何进行
JavaScript调用的问题。
例如:
callback({"name","trigkit4"});
JSONP由两部分组成:回调函数和数据。回调函数是当响应到来时应该在页面中调用的函数,而数据就是传入回调函数中的JSON数据。
在js中,我们直接用
XMLHttpRequest请求不同域上的数据时,是不可以的。但是,在页面上引入不同域上的js脚本文件却是可以的,jsonp正是利用这个特性来实现的。
jQuery中的$.getJSON( )方法函数主要用来从服务器加载json编码的数据,它使用的是GET HTTP请求。
$.getJSON方法会自动判断是否跨域,不跨域的话,就调用普通的
ajax方法;跨域的话,则会以异步加载js文件的形式来调用
jsonp的回调函数。
使用方法如下:
$.getJSON( url [, data ] [, success(data, textStatus, jqXHR) ] )
url是必选参数,表示json数据的地址;
data是可选参数,用于请求数据时发送数据参数;
success是可参数,这是一个回调函数,用于处理请求到的数据。
获取json数据举例:
$.getJSON('test.json', function(data){ for (var i = 0; i < data.rows.length; i++) { $('#test').append('<p>' + data.rows[i].realName + '</p>'); } });
相关文章推荐
- JS判断是PC浏览器还是手机设备浏览器
- javascript 特殊的面向对象以及继承详解(入门篇)
- 关于struct2获取jsp表单里的数据,以及隐藏传递给action的变量的方法
- js验证表单大全
- JS时间日期格式转换
- JavaScript高级程序设计(第三版)学习笔记(2)
- javascript(一)--显示超链接的文字注释
- ext中对json数据的处理解析
- js判断用户的浏览设备是移动设备还是PC
- 使用JavaScript修改浏览器URL地址栏的实现代码
- Servlet+JSP要点
- js 验证用户名和密码是否为空
- js实现登陆遮罩效果的方法
- js之this,请问你是谁
- 怎么通过onclick事件获取js函数返回值(代码少)
- Ajax与JSON技术
- JavaScript学习总结
- js中数组元素去重
- js删除数组元素
- json在线解析