jQuery中的Ajax

jQuery中的Ajax
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
AJAX 不是新的编程语言,而是一种使用现有标准的新方法。
AJAX 是与服务器交换数据并更新部分网页的技术,在不重新加载整个页面的情况下。
ajax() 方法通过 HTTP 请求加载远程数据。
该方法是 jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, . p o s t 等 。 .post 等。 .post.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。
$.ajax() 函数返回它创建的 XMLHttpRequest 对象。通常 jQuery 只在内部处理并创建这个对象,但用户也可以通过 xhr 选项来传递一个自己创建的 xhr 对象。返回的对象通常已经被丢弃了,但依然提供一个底层接口来观察和操控请求。比如说,调用对象上的 .abort() 可以在请求完成前挂起请求。
. a j a x ( ) 函 数 依 赖 服 务 器 提 供 的 信 息 来 处 理 返 回 的 数 据 。 如 果 服 务 器 报 告 说 返 回 的 数 据 是 X M L H t t p R e q u e s t , 那 么 返 回 的 结 果 就 可 以 用 普 通 的 X M L H t t p R e q u e s t 方 法 或 者 j Q u e r y 的 选 择 器 来 遍 历 。 如 果 见 得 到 其 他 类 型 , 比 如 H T M L , 则 数 据 就 以 文 本 形 式 来 对 待 。 通 过 d a t a T y p e 选 项 还 可 以 指 定 其 他 不 同 数 据 处 理 方 式 。 除 了 单 纯 的 X M L , 还 可 以 指 定 h t m l 、 j s o n 、 j s o n p 、 s c r i p t 或 者 t e x t 。 其 中 , t e x t 和 x m l 类 型 返 回 的 数 据 不 会 经 过 处 理 。 数 据 仅 仅 简 单 的 将 X M L H t t p R e q u e s t 的 r e s p o n s e T e x t 或 r e s p o n s e H T M L 属 性 传 递 给 s u c c e s s 回 调 函 数 。 所 有 现 代 浏 览 器 ( I E 7 + 、 F i r e f o x 、 C h r o m e 、 S a f a r i 以 及 O p e r a ) 均 支 持 X M L H t t p R e q u e s 对 象 ( I E 5 和 I E 使 用 的 是 A c t i v e X O b j e c t ) 。 1.0 用 J a v a S c r i p t 中 的 X M L H t t p R e q u e s t 对 象 在 服 务 器 中 获 取 到 数 据 后 提 交 到 页 面 表 单 数 据 。 创 建 X M L H t t p R e q u e s t 对 象 的 语 法 : v a r i a b l e = n e w X M L H t t p R e q u e s t ( ) ; 老 版 本 的 I n t e r n e t E x p l o r e r ( I E 5 和 I E 6 ) 使 用 A c t i v e X 对 象 : v a r i a b l e = n e w A c t i v e X O b j e c t ( " M i c r o s o f t . X M L H T T P " ) ; 1.1 用 j Q u e r y 中 的 .ajax() 函数依赖服务器提供的信息来处理返回的数据。如果服务器报告说返回的数据是XMLHttpRequest,那么返回的结果就可以用普通的XMLHttpRequest方法或者 jQuery 的选择器来遍历。如果见得到其他类型,比如 HTML,则数据就以文本形式来对待。 通过 dataType 选项还可以指定其他不同数据处理方式。除了单纯的 XML,还可以指定 html、json、jsonp、script 或者 text。 其中,text 和 xml 类型返回的数据不会经过处理。数据仅仅简单的将 XMLHttpRequest 的 responseText 或 responseHTML 属性传递给 success 回调函数。 所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均支持XMLHttpReques对象(IE5和IE使用的是ActiveXObject)。 1.0 用JavaScript中的XMLHttpRequest对象在服务器中获取到数据后提交到页面表单数据。 创建 XMLHttpRequest 对象的语法: variable=new XMLHttpRequest(); 老版本的Internet Explorer(IE5 和 IE6)使用ActiveX对象:variable=new ActiveXObject("Microsoft.XMLHTTP"); 1.1 用jQuery中的 .ajax()XMLHttpRequestXMLHttpRequestjQueryHTMLdataTypeXMLhtmljsonjsonpscripttexttextxmlXMLHttpRequestresponseTextresponseHTMLsuccessIE7+FirefoxChromeSafariOperaXMLHttpRequesIE5IE使ActiveXObject1.0JavaScriptXMLHttpRequestXMLHttpRequestvariable=newXMLHttpRequest();InternetExplorerIE5IE6使ActiveXvariable=newActiveXObject("Microsoft.XMLHTTP");1.1jQuery.ajax({settings})方法,type:类型,“GET/POST”, URL:发送请求的地址如果是绝对路径,协议和主机和端口通常必须匹配文档对应的内容,否则跨域的请求通常会报错),async:设置异步,(默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行(Ajax 的第一个字母是 asynchronous 的开头字母,这意味着所有的操作都是并行的,完成的顺序没有前后关系。 . a j a x ( ) 的 a s y n c 参 数 总 是 设 置 成 t r u e , 这 标 志 着 在 请 求 开 始 后 , 其 他 代 码 依 然 能 够 执 行 。 强 烈 不 建 议 把 这 个 选 项 设 置 成 f a l s e , 这 意 味 着 所 有 的 请 求 都 不 再 是 异 步 的 了 , 这 也 会 导 致 浏 览 器 被 锁 死 ) 。 1.2 把 表 单 序 列 化 , s e r i a l i z e ( ) 序 列 表 单 内 容 为 字 符 串 , 用 于 A j a x 请 求 , 而 s e r i a l i z e A r r a y ( ) 序 列 化 表 单 元 素 ( 类 似 ′ . s e r i a l i z e ( ) ′ 方 法 ) 返 回 J S O N 数 据 结 构 数 据 , 注 意 : 此 方 法 返 回 的 是 J S O N 对 象 而 非 J S O N 字 符 串 。 需 要 使 用 插 件 或 者 第 三 方 库 进 行 字 符 串 化 操 作 , 返 回 的 J S O N 对 象 是 由 一 个 对 象 数 组 组 成 的 , 其 中 每 个 对 象 包 含 一 个 或 两 个 名 值 对 — — n a m e 参 数 和 v a l u e 参 数 2.0 j Q u e r y 中 的 .ajax() 的 async 参数总是设置成true,这标志着在请求开始后,其他代码依然能够执行。强烈不建议把这个选项设置成 false,这意味着所有的请求都不再是异步的了,这也会导致浏览器被锁死)。 1.2 把表单序列化,serialize() 序列表单内容为字符串,用于 Ajax 请求,而serializeArray() 序列化表单元素 (类似 '.serialize()' 方法) 返回 JSON 数据结构数据,注意:此方法返回的是JSON对象而非JSON字符串。需要使用插件或者第三方库进行字符串化操作,返回的JSON对象是由一个对象数组组成的,其中每个对象包含一个或两个名值对——name参数和value参数 2.0 jQuery中的 .ajax()asynctruefalse1.2serialize()AjaxserializeArray()(.serialize())JSONJSONJSON使JSONnamevalue2.0jQuery.post()方法,(post请求通常拥有主体,同时它应该匹配使用setRequestHeader()制定的“Content-Type”头)
语法:
$.post(url, [data], [callback], [type])
描述:
通过远程 HTTP POST 请求载入信息。这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。
参数说明:
url:发送请求地址。
data:待发送 Key/value 参数。
callback:发送成功时回调函数。
type:返回内容格式,xml, html, script, json, text, _default。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值