jquery ajax的getJSON使用

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)

可选。规定当请求成功时运行的函数。

额外的参数:

  • response - 包含来自请求的结果数据
  • status - 包含请求的状态
  • xhr - 包含 XMLHttpRequest 对象

  $.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

原文地址:https://www.cnblogs.com/Olimpic2008/p/4943768.html