getJSON的定义和用法
通过 HTTP GET 请求载入 JSON 数据。
在 jQuery 1.2 中,您可以通过使用 JSONP 形式的回调函数来加载其他网域的 JSON 数据,如 "myurl?callback=?"。jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。 注意:此行以后的代码将在这个回调函数执行前执行。
语法
jQuery.getJSON(url,data,success(data,status,xhr))
参数 | 描述 |
---|---|
url | 必需。规定将请求发送的哪个 URL。 |
data | 可选。规定连同请求发送到服务器的数据。 |
success(data,status,xhr) |
可选。规定当请求成功时运行的函数。 额外的参数:
|
$.getJSON的回调函数为:success(data,status,xhr)
回调函数可以接受三个参数,第一个书返回的JSON数据:JSON--data,第二个是状态--status,第三个是jQuery的XMLHttpRequest--xhr。
返回数据后可以用$.each()在回调函数中解析JSON数据
jQuery.each( collection, callback(indexInArray, valueOfElement) )
$.each()方法接受两个参数,第一个是需要遍历的对象集合(JSON对象集合--collection),第二个是用来遍历的方法--callback,这个方法又接受两个参数,第一个是遍历的index,第二个是当前遍历的值--JSON数据集合的item。
详细说明
$.getJSON函数是简写的 Ajax 函数,等价于:
$.ajax({ url: url, data: data, success: callback, dataType: json });
发送到服务器的数据可作为查询字符串附加到 URL 之后。如果 data 参数的值是对象(映射),那么在附加到 URL 之前将转换为字符串,并进行 URL 编码。
传递给 callback 的返回数据,可以是 JavaScript 对象,或以 JSON 结构定义的数组,并使用 $.parseJSON() 方法进行解析。
示例1
从 test.js 载入 JSON 数据并显示 JSON 数据中一个 name 字段数据:
$.getJSON
("test.js", function(json){
alert("JSON Data: " + json.users[3].name);
});
示例2
//<table id="content"><thead /><tbody></tbody></table>
$.getJSON("url or json", function(data) {
$.each(data.rows, function(i, item) {
$("#content tbody").append(
"<tr><td>" + item.id+ "</td>" +
"<td>" + item.name + "</td>" +
"<td>" + item.value + "</td></tr>");
});
});
注意:上面$.each函数中的对象集合data.rows,要对应JSON格式{"rows":[{},{},{}]},如果JSON中没有"rows标记",调用$.each函数是对象集合只需data就可以,不必再加rows
参考:http://www.w3school.com.cn/jquery/ajax_getjson.asp
http://www.cnblogs.com/codeplus/archive/2011/07/18/2109544.html