# jQuery ajax - load() 方法
## 实例
使用 AJAX 请求来改变 div 元素的文本:
```
$("button").click(function(){
$("div").load('demo_ajax_load.txt');
});
```
[您可以在页面底部找到更多 TIY 实例](#more_example)
## 定义和用法
load() 方法通过 AJAX 请求从服务器加载数据,并把返回的数据放置到指定的元素中。
注释:还存在一个名为 [load](/jquery/event_load.asp "jQuery 事件 - load() 方法") 的 jQuery [事件](jquery_ref_events.asp "jQuery 参考手册 - 事件")方法。调用哪个,取决于参数。
### 语法
```
load(_url_,_data_,_function(response,status,xhr)_)
```
| 参数 | 描述 |
| --- | --- |
| _url_ | 规定要将请求发送到哪个 URL。 |
| _data_ | 可选。规定连同请求发送到服务器的数据。 |
| _function(response,status,xhr)_ | 可选。规定当请求完成时运行的函数。额外的参数: _response_ - 包含来自请求的结果数据 _status_ - 包含请求的状态("success", "notmodified", "error", "timeout" 或 "parsererror") _xhr_ - 包含 XMLHttpRequest 对象 |
### 详细说明
该方法是最简单的从服务器获取数据的方法。它几乎与 $.get(url, data, success) 等价,不同的是它不是全局函数,并且它拥有隐式的回调函数。当侦测到成功的响应时(比如,当 textStatus 为 "success" 或 "notmodified" 时),.load() 将匹配元素的 HTML 内容设置为返回的数据。这意味着该方法的大多数使用会非常简单:
```
$("#result").load("ajax/test.html");
```
如果提供回调函数,则会在执行 post-processing 之后执行该函数:
```
$("#result").load("ajax/test.html", function() {
alert("Load was performed.");
});
```
上面的两个例子中,如果当前文档不包含 "result" ID,则不会执行 .load() 方法。
如果提供的数据是对象,则使用 POST 方法;否则使用 GET 方法。
## 加载页面片段
.load() 方法,与 $.get() 不同,允许我们规定要插入的远程文档的某个部分。这一点是通过 url 参数的特殊语法实现的。如果该字符串中包含一个或多个空格,紧接第一个空格的字符串则是决定所加载内容的 jQuery 选择器。
我们可以修改上面的例子,这样就可以使用所获得文档的某部分:
```
$("#result").load("ajax/test.html #container");
```
如果执行该方法,则会取回 ajax/test.html 的内容,不过然后,jQuery 会解析被返回的文档,来查找带有容器 ID 的元素。该元素,连同其内容,会被插入带有结果 ID 的元素中,所取回文档的其余部分会被丢弃。
jQuery 使用浏览器的 .innerHTML 属性来解析被取回的文档,并把它插入当前文档。在此过程中,浏览器常会从文档中过滤掉元素,比如 <html>, <title> 或 <head> 元素。结果是,由 .load() 取回的元素可能与由浏览器直接取回的文档不完全相同。
注释:由于浏览器安全方面的限制,大多数 "Ajax" 请求遵守同源策略;请求无法从不同的域、子域或协议成功地取回数据。
## 更多实例
### 例子 1
加载 feeds.html 文件内容:
```
$("#feeds").load("feeds.html");
```
### 例子 2
与上面的实例类似,但是以 POST 形式发送附加参数并在成功时显示信息:
```
$("#feeds").load("feeds.php", {limit: 25}, function(){
alert("The last 25 entries in the feed have been loaded");
});
```
### 例子 3
加载文章侧边栏导航部分至一个无序列表:
HTML 代码:
```
<b>jQuery Links:</b>
<ul id="links"></ul>
```
jQuery 代码:
```
$("#links").load("/Main_Page #p-Getting-Started li");
```
## 更多 TIY 实例
[生成 AJAX 请求,并通过该请求发送数据](/tiy/t.asp?f=jquery_ajax_load_data)
如何使用 data 参数通过 AJAX 请求来发送数据。(本例在 AJAX 教程中解释过。)
[生成 AJAX 请求,并使用回调函数](/tiy/t.asp?f=jquery_ajax_load_func)
如何使用 function 参数处理来自 AJAX 请求的数据结果。
[生成带有错误的 AJAX 请求](/tiy/t.asp?f=jquery_ajax_load_err)
如何使用 function 参数来处理 AJAX 请求中的错误(使用 XMLHttpRequest 参数)。
- 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 属性
- 免责声明