jQueryAjax全解析(.ajax.post.get)

上传人:平*** 文档编号:12457411 上传时间:2017-10-19 格式:DOCX 页数:8 大小:30.64KB
返回 下载 相关 举报
jQueryAjax全解析(.ajax.post.get)_第1页
第1页 / 共8页
jQueryAjax全解析(.ajax.post.get)_第2页
第2页 / 共8页
jQueryAjax全解析(.ajax.post.get)_第3页
第3页 / 共8页
jQueryAjax全解析(.ajax.post.get)_第4页
第4页 / 共8页
jQueryAjax全解析(.ajax.post.get)_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《jQueryAjax全解析(.ajax.post.get)》由会员分享,可在线阅读,更多相关《jQueryAjax全解析(.ajax.post.get)(8页珍藏版)》请在金锄头文库上搜索。

1、jQuery Ajax 全解析【.ajax .post .get】1. load( url, data, callback ) :载入远程 HTML 文件代码并插入至 DOM 中。url (String) : 请求的 HTML页的 URL地址。data (Map) : (可选参数) 发送至服务器的 key/value 数据。callback (Callback) : (可选参数) 请求完成时(不需要是 success的)的回调函数。这个方法默认使用 GET 方式来传递的,如果data参数有传递数据进去,就会自动转换为 POST方式的。jQuery 1.2 中,可以指定选择符,来筛选载入的 HT

2、ML 文档,DOM 中将仅插入筛选出的 HTML 代码。语法形如 url #some selector。这个方法可以很方便的动态加载一些 HTML文件,例如表单。示例代码:$(.ajax.load).load(http:/ .post,function (responseText, textStatus, XMLHttpRequest)this;/在这里 this指向的是当前的 DOM对象,即$(.ajax.load)0/alert(responseText);/请求返回的内容/alert(textStatus);/请求状态:success,error/alert(XMLHttpRequest

3、);/XMLHttpRequest对象);注:不知道为什么 URL写绝对路径在 FF下会出错,知道的麻烦告诉下。下面的get()和 post()示例使用的是绝对路径,所以在 FF下你将会出错并不会看到返回结果。还有 get()和 post()示例都是跨域调用的,发现传上来后没办法获取结果,所以把运行按钮去掉了。2. jQuery.get( url, data, callback ):使用 GET方式来进行异步请求参数:url (String) : 发送请求的 URL地址.data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示,会做为 QueryStr

4、ing附加到请求 URL中。callback (Function) : (可选) 载入成功时回调函数(只有当 Response的返回状态是 success才是调用该方法)。这是一个简单的 GET 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。示例代码:$.get(./Ajax.aspx, Action:get,Name:lulu, function (data, textStatus)/返回的 data 可以是 xmlDoc, jsonObj, html, text, 等等.this; / 在这里 this指向的是 Ajax请求的

5、选项配置信息,请参考下图alert(data);/alert(textStatus);/请求状态:success,error 等等。当然这里捕捉不到 error,因为 error的时候根本不会运行该回调函数/alert(this););3. jQuery.post( url, data, callback, type ) :使用 POST方式来进行异步请求参数:url (String) : 发送请求的 URL地址.data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示。callback (Function) : (可选) 载入成功时回调函数(只有当

6、Response的返回状态是 success才是调用该方法)。type (String) : (可选)官方的说明是:Type of data to be sent。其实应该为客户端请求的类型(JSON,XML,等等)这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。示例代码:Ajax.aspx:Response.ContentType = application/json;Response.Write(result: + RequestName + ,你好!(这消息来自服务器);jQuery 代码:$.pos

7、t(Ajax.aspx, Action: post, Name: lulu ,function (data, textStatus)/ data 可以是 xmlDoc, jsonObj, html, text, 等等./this; / 这个 Ajax请求的选项配置信息,请参考jQuery.get()说到的 thisalert(data.result);, json);如果你设置了请求的格式为json,此时你没有设置 Response回来的ContentType 为:Response.ContentType = application/json; 那么你将无法捕捉到返回的数据。注意一下,aler

8、t(data.result); 由于设置了 Accept报头为“json”,这里返回的 data就是一个对象,并不需要用 eval()来转换为对象。4. jQuery.getScript( url, callback ) : 通过 GET 方式请求载入并执行一个 JavaScript 文件。参数url (String) : 待载入 JS 文件地址。callback (Function) : (可选) 成功载入后回调函数。jQuery 1.2 版本之前,getScript 只能调用同域 JS 文件。 1.2 中,您可以跨域调用 JavaScript 文件。注意:Safari 2 或更早的版本不能

9、在全局作用域中同步执行脚本。如果通过 getScript 加入脚本,请加入延时函数。这个方法可以用在例如当只有编辑器 focus()的时候才去加载编辑器需要的 JS文件.下面看一些示例代码:加载并执行 test.js。jQuery 代码:$.getScript(test.js);加载并执行 AjaxEvent.js ,成功后显示信息。jQuery 代码:$.getScript(AjaxEvent.js, function()alert(AjaxEvent.js 加载完成并执行完成.你再点击上面的Get或 Post按钮看看有什么不同?););加载完后请重新点击一下上面的 Load 请求看看有什么

10、不同。jQuery Ajax 事件Ajax请求会产生若干不同的事件,我们可以订阅这些事件并在其中处理我们的逻辑。在 jQuery这里有两种 Ajax事件:局部事件 和 全局事件。局部事件就是在每次的 Ajax请求时在方法内定义的,例如:$.ajax(beforeSend: function()/ Handle the beforeSend event,complete: function()/ Handle the complete event/ .);全局事件是每次的 Ajax请求都会触发的,它会向 DOM中的所有元素广播,在上面 getScript() 示例中加载的脚本就是全局 Ajax事

11、件。全局事件可以如下定义:$(#loading).bind(ajaxSend, function()$(this).show();).bind(ajaxComplete, function()$(this).hide(););或者:$(#loading).ajaxStart(function()$(this).show();); 我们可以在特定的请求将全局事件禁用,只要设置下 global 选项就可以了:$.ajax(url: test.html,global: false,/ 禁用全局 Ajax事件./ . ); 参数列表:参数名 类型 描述url String (默认: 当前页地址) 发送

12、请求的地址。type String(默认: GET) 请求方式 (POST 或 GET), 默认为 GET。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。timeout Number 设置请求超时时间(毫秒)。此设置将覆盖全局设置。async Boolean(默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。beforeSend Function发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTT

13、P 头。XMLHttpRequest 对象是唯一的参数。function (XMLHttpRequest) this; / the options for this ajax requestcache Boolean (默认: true) jQuery 1.2 新功能,设置为 false 将不会从浏览器缓存中加载请求信息。complete Function请求完成后回调函数 (请求成功或失败时均调用)。参数: XMLHttpRequest 对象,成功信息字符串。function (XMLHttpRequest, textStatus) this; / the options for this

14、ajax requestcontentType String(默认: application/x-www-form-urlencoded) 发送信息至服务器时内容编码类型。默认值适合大多数应用场合。data Object,String发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 foo:bar1, bar2 转换为 &foo=bar1&foo=bar2。dataType String 预期服务器返回的数据类型

15、。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息返回 responseXML 或 responseText,并作为回调函数参数传递,可用值:xml: 返回 XML 文档,可用 jQuery 处理。html: 返回纯文本 HTML 信息;包含 script 元素。script: 返回纯文本 JavaScript 代码。不会自动缓存结果。json: 返回 JSON 数据 。jsonp: JSONP 格式。使用 JSONP 形式调用函数时,如 myurl?callback=? jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。error Function(默认: 自动判断 (xml 或 html) 请求失败时将调用此方法。这个方法有三个参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。function (XMLHttpRequest, textStatus, errorThrown) / 通常情况下 textStatus和 errorThown只有其中一个有值 this; / the options for this ajax requestglobal Boolean(默认: true) 是否触发全局 AJAX 事件

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号