# jQuery ajax - getJSON() 方法
## 实例
使用 AJAX 请求来获得 JSON 数据,并输出结果:
```
$("button").click(function(){
$.getJSON("demo_ajax_json.js",function(result){
$.each(result, function(i, field){
$("div").append(field + " ");
});
});
});
```
## 定义和用法
通过 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 对象 |
### 详细说明
该函数是简写的 Ajax 函数,等价于:
```
$.ajax({
url: _url_,
data: _data_,
success: _callback_,
dataType: json
});
```
发送到服务器的数据可作为查询字符串附加到 URL 之后。如果 _data_ 参数的值是对象(映射),那么在附加到 URL 之前将转换为字符串,并进行 URL 编码。
传递给 _callback_ 的返回数据,可以是 JavaScript 对象,或以 JSON 结构定义的数组,并使用 $.parseJSON() 方法进行解析。
### 示例
从 test.js 载入 JSON 数据并显示 JSON 数据中一个 name 字段数据:
```
$.getJSON("test.js", function(json){
alert("JSON Data: " + json.users[3].name);
});
```
## 更多示例
### 例子 1
从 Flickr JSONP API 载入 4 张最新的关于猫的图片:
HTML 代码:
```
<div id="images"></div>
```
jQuery 代码:
```
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?
tags=cat&tagmode=any&format=json&jsoncallback=?", function(data){
$.each(data.items, function(i,item){
$("<img/>").attr("src", item.media.m).appendTo("#images");
if ( i == 3 ) return false;
});
});
```
### 例子 2
从 test.js 载入 JSON 数据,附加参数,显示 JSON 数据中一个 name 字段数据:
```
$.getJSON("test.js", { name: "John", time: "2pm" }, function(json){
alert("JSON Data: " + json.users[3].name);
});
```
- jQuery 参考手册 - 选择器
- jQuery 参考手册 - 事件
- jQuery 事件 - bind() 方法
- jQuery 事件 - blur() 方法
- jQuery 事件 - change() 方法
- jQuery 事件 - click() 方法
- jQuery 事件 - dblclick() 方法
- jQuery 事件 - delegate() 方法
- jQuery 事件 - die() 方法
- jQuery 事件 - error() 方法
- jQuery 事件 - isDefaultPrevented() 方法
- jQuery 事件 - pageX 属性
- jQuery 事件 - pageY 属性
- jQuery 事件 - preventDefault() 方法
- jQuery 事件 - result 属性
- jQuery 事件 - target 属性
- jQuery 事件 - timeStamp 属性
- jQuery 事件 - type 属性
- jQuery 事件 - which 属性
- jQuery 事件 - focus() 方法
- jQuery 事件 - keydown() 方法
- jQuery 事件 - keypress() 方法
- jQuery 事件 - keyup() 方法
- jQuery 事件 - live() 方法
- jQuery 事件 - load() 方法
- jQuery 事件 - mousedown() 方法
- jQuery 事件 - mouseenter() 方法
- jQuery 事件 - mouseleave() 方法
- jQuery 事件 - mousemove() 方法
- jQuery 事件 - mouseout() 方法
- jQuery 事件 - mouseover() 方法
- jQuery 事件 - mouseup() 方法
- jQuery 事件 - one() 方法
- jQuery 事件 - ready() 方法
- jQuery 事件 - resize() 方法
- jQuery 事件 - scroll() 方法
- jQuery 事件 - select() 方法
- jQuery 事件 - submit() 方法
- jQuery 事件 - toggle() 方法
- jQuery 事件 - trigger() 方法
- jQuery 事件 - triggerHandler() 方法
- jQuery 事件 - unbind() 方法
- jQuery 事件 - undelegate() 方法
- jQuery 事件 - unload 属性
- jQuery 参考手册 - 效果
- jQuery 效果 - animate() 方法
- jQuery 效果 - clearQueue() 方法
- jQuery 效果 - fadeIn() 方法
- jQuery 效果 - fadeOut() 方法
- jQuery 效果 - fadeTo() 方法
- jQuery 效果 - hide() 方法
- jQuery 效果 - show() 方法
- jQuery 效果 - slideDown() 方法
- jQuery 效果 - slideToggle() 方法
- jQuery 效果 - slideUp() 方法
- jQuery 效果 - stop() 方法
- jQuery 效果 - toggle() 方法
- jQuery 参考手册 - 文档操作
- jQuery 属性操作 - addClass() 方法
- jQuery 文档操作 - after() 方法
- jQuery 文档操作 - append() 方法
- jQuery 文档操作 - appendTo() 方法
- jQuery 属性操作 - attr() 方法
- jQuery 文档操作 - before() 方法
- jQuery 文档操作 - clone() 方法
- jQuery 文档操作 - detach() 方法
- jQuery 文档操作 - empty() 方法
- jQuery 属性操作 - hasClass() 方法
- jQuery 文档操作 - html() 方法
- jQuery 文档操作 - insertAfter() 方法
- jQuery 文档操作 - insertBefore() 方法
- jQuery 文档操作 - prepend() 方法
- jQuery 文档操作 - prependTo() 方法
- jQuery 文档操作 - remove() 方法
- jQuery 属性操作 - removeAttr() 方法
- jQuery 属性操作 - removeClass() 方法
- jQuery 文档操作 - replaceAll() 方法
- jQuery 文档操作 - replaceWith() 方法
- jQuery 文档操作 - text() 方法
- jQuery 属性操作 - toggleClass() 方法
- jQuery 文档操作 - unwrap() 方法
- jQuery 属性操作 - val() 方法
- jQuery 文档操作 - wrap() 方法
- jQuery 文档操作 - wrapAll() 方法
- jQuery 文档操作 - wrapInner() 方法
- jQuery 参考手册 - 属性操作
- jQuery 参考手册 - CSS 操作
- jQuery CSS 操作 - css() 方法
- jQuery CSS 操作 - height() 方法
- jQuery CSS 操作 - offset() 方法
- jQuery CSS 操作 - offsetParent() 方法
- jQuery CSS 操作 - position() 方法
- jQuery CSS 操作 - scrollLeft() 方法
- jQuery CSS 操作 - scrollTop() 方法
- jQuery CSS 操作 - width() 方法
- jQuery 参考手册 - Ajax
- jQuery ajax - ajax() 方法
- jQuery ajax - ajaxComplete() 方法
- jQuery ajax - ajaxError() 方法
- jQuery ajax - ajaxSend() 方法
- jQuery ajax - ajaxSetup() 方法
- jQuery ajax - ajaxStart() 方法
- jQuery ajax - ajaxStop() 方法
- jQuery ajax - ajaxSuccess() 方法
- jQuery ajax - get() 方法
- jQuery ajax - getJSON() 方法
- jQuery ajax - getScript() 方法
- jQuery ajax - load() 方法
- jQuery ajax - param() 方法
- jQuery ajax - post() 方法
- jQuery ajax - serialize() 方法
- jQuery ajax - serializeArray() 方法
- jQuery 参考手册 - 遍历
- jQuery 遍历 - add() 方法
- jQuery 遍历 - andSelf() 方法
- jQuery 遍历 - children() 方法
- jQuery 遍历 - closest() 方法
- jQuery 遍历 - contents() 方法
- jQuery 遍历 - each() 方法
- jQuery 遍历 - end() 方法
- jQuery 遍历 - eq() 方法
- jQuery 遍历 - filter() 方法
- jQuery 遍历 - find() 方法
- jQuery 遍历 - first() 方法
- jQuery 遍历 - has() 方法
- jQuery 遍历 - is() 方法
- jQuery 遍历 - last() 方法
- jQuery 遍历 - map() 方法
- jQuery 遍历 - next() 方法
- jQuery 遍历 - nextAll() 方法
- jQuery 遍历 - nextUntil() 方法
- jQuery 遍历 - not() 方法
- jQuery 遍历 - offsetParent() 方法
- jQuery 遍历 - parent() 方法
- jQuery 遍历 - parents() 方法
- jQuery 遍历 - parentsUntil() 方法
- jQuery 遍历 - prev() 方法
- jQuery 遍历 - prevAll() 方法
- jQuery 遍历 - prevUntil() 方法
- jQuery 遍历 - siblings() 方法
- jQuery 遍历 - slice() 方法
- jQuery 参考手册 - 数据
- jQuery 遍历 - clearQueue() 方法
- jQuery 数据 - data() 方法
- jQuery 数据 - jQuery.data() 方法
- jQuery 遍历 - dequeue() 方法
- jQuery 遍历 - jQuery.dequeue() 方法
- jQuery 遍历 - hasData() 方法
- jQuery 遍历 - queue() 方法
- jQuery 遍历 - jQuery.queue() 方法
- jQuery 数据 - removeData() 方法
- jQuery 数据 - jQuery.removeData() 方法
- jQuery 参考手册 - DOM 元素方法
- jQuery DOM 元素方法 - get() 方法
- jQuery DOM 元素方法 - index() 方法
- jQuery DOM 元素方法 - size() 方法
- jQuery DOM 元素方法 - toArray() 方法
- jQuery 参考手册 - 核心
- jQuery 核心 - jQuery() 方法
- jQuery 核心 - noConflict() 方法
- jQuery 参考手册 - 属性
- jQuery context 属性
- jQuery jquery 属性
- jQuery jQuery.fx.interval 属性
- jQuery jQuery.fx.off 属性
- jQuery jQuery.support 属性
- jQuery length 属性
- 免责声明