原文:http://www.365mini.com/page/jquery_getjson.htm
1. 简介
$.getJSON():用于http get形式的ajax请求,获取远程的JSON编码的数据
请求的url中包含“callback=?”的时候,jq会自动视作jsonp,并执行对应的回调函数来获取
服务器返回的json数据必须符合严格 的 json语法,例如:所有属性名称必须加上引号,所有字符串也必须加双引号。(单引号不行)
属于全局对象,通过异步的方式加载数据。
2. 语法
$.getJSON(url, [, data], [, success])
参数:
url:string类型 ,指定请求的url
data可选:string或者object类型 发送请求传递的 数据
success可选:function类型 请求成功后的回调。
有三个参数:1.返回的数据,2.请求的状态文本 3.当前的jqXHR对象。
// data 是该请求返回的数据( 可能经过处理)
// textStatus 可能是"success"
// jqXHR是经过jq 封装好的XMLHttpReQuest对象(保留他本身的属性和方法)
返回值 :
返回值 为jqXHR类型的,返回发送该请求的jqXHR对象
3.示例/说明
它的本质是$.ajax( ) 函数的简写形式
也就是 $.getJSON(url, data, success);
// 等价于
$.ajax(
url: url,
type: "get",
data: data,
success: success,
dataType: "json"
);
4. 具体用法
// 获取数据,成功后弹出对话框
$.getJSON("index.php?type=json", function(data, textStatus, jqXHR){
// 如果服务器返回的json格式的 数据是{"name": "leo", "age": 20};
// jq已经将其转换成对应的js对象
alert( data.name );
alert( data.age);
});
// 获取"/action.php?m=list&page=2&size=10"的JSON数据
$.getJSON("/action.php?m=list", {page:2, size: 10}, function(data, textStatus, jqXHR){
// 服务器返回的数据
// [ {"id":11, "title":"文章11"}, {"id":12, "title":"文章12"}, {"id":13, "title":"文章13"} ]
// jq将获取的json格式的数据转换为js的数组
for(var i in data){
var obj = data[i];
alert( obj.title );
}
});