ajax

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

掌握两个函数:
json_encode($arr);把数组转成join格式 json_decode();相反格式。 状态吗234是在ajax 引擎里面实现的。 同步状态下在外面读到014,异步能读到01。 状态码等于4只是说明客户端与服务器端的一次交互(请求/回应)完成了。但 并不说明网页本身正确,因为有可能是403,404,500等错误。所有还得继续判断, 判断http协议返回的状态吗。
XMLHttpquest对象
Ajax对象的方法
abort():停止当前请求。 getAllResponseHeaders():获取响应的所有头信息。 getResponseHeader(“headerlabel”):获取响应的某个头信息。 open(“method”,”url”,true/false):设置请求的目标和方法。 send(null/参数):参数的写法:k1=v1&k2=v2&kn=vn setRequestHeader(“label”,”value”):设置请求的头信息。 如:hao.setRequestHeader("content-type","application/x-wwwform-urlencoded");
ajax
学习要点:
一个对象 六个属性 六个方法 二个返回值
ajax介绍
ajax是2005年提出的,在2006,2007年迅速的发展,目前很 多网站都使用了ajax技术,在招聘软件工程师时,ajax技术 是必须要求掌握的。 AJAX即“Asynchronous JavaScript and XML” ajax技术包含了几种技术:javascript、xml、css、xstl、dom 、xhtml和XMLHttpRequest七种技术,所以ajax就像是粘合 剂把七种技术整合到一起,从而发挥各个技术的优势,威力 惊人。
json使用案例:
例子二: <script language="JavaScript"> var people =[ {"firstName": "Brett","email": "brett@newInstance.com" }, {"firstName": "Mary","email": "mary@newInstance.com" } ]; alert(people[0].firstName); alert(people[0].email); alert(people[1].firstName); alert(people[1].email); </script>
json使用案例:
例子一: <script language="JavaScript"> var people ={"firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" }; alert(people.firstName); alert(people.lastName); alert(people.email); </script>

json格式快速入门案例 •JSON 只是一种文本字符串。它被存储在 responseText 属 性中 •为了读取存储在 responseText 属性中的 JSON 数据,需 要根据 JavaScript 的 eval 语句。函数 eval 会把一个字符 串当作它的参数。然后这个字符串会被当作 JavaScript 代 码来执行。因为 JSON 的字符串就是由 JavaScript 代码构 成的,所以它本身是可执行的 •代码实例:
传统的客户端和服务器响应方式缺点:
(1)数据是整体提交。 (2)整个页面有刷新。 (3)用户体验不好。 (4)占带宽。 使用get方式发出请求,如果提交的用户名不变化,浏览器将不会真的发请求, 而是缓存取数据, 解决方法: (1)url后带一个总是变化的参数,比如当前时间。 (2)在服务器回送结果时,禁用缓存。header("cache-control:no-cache");
XML应用场景:返回大量的格式化数据时
如果返回XML来使用 需要 1: 服务器端的返回明确指定返回类型XML 2:在客户端用 responseXML
Ajax返回值

返回Html格式
HTML 由一些普通文本组成。如果服务器通过 XMLHttpRequest 发送 HTML, 文本将存储在 responseText 属性中。 不必从 responseText 属性中读取数据。它已经是希望的格 式,可以直接将它插入到页面中。 插入 HTML 代码最简单的方法是更新这个元素的 innerHTML 属性。
ajax的几种名称
无刷新技术: 调用ajax程序的页面,从地址栏上看,没有变化,没有 刷新,因此,无刷新技术 局部刷新技术: 调用ajax程序的页面,可能通过响应内容,动态的改 变部分DOM节点 异步刷新技术: Js会阻塞后面的js代码执行和html代码的渲染. 而用异步传输数据,不会阻塞后面js代码执行和html 代码的渲染.
Ajax返回值

返回xml格式
前面的案例,我们使用html(文本)格式返回了结果,现在我们演示 一下使用xml格式来返回结果.
//这里两句话很重要,第一讲话告诉浏览器返回的数据是xml格式 header("Content-Type: text/xml;charset=utf-8"); //告诉浏览器不要缓存数据 header("Cache-Control: no-cache");
Ajax返回值

返回Html格式
优点:
•从服务器端发送的 HTML 代码在浏览器端不需要用 JavaScript 进行解析。 •HTML 的可读性好。 •HTML 代码块与 innerHTML 属性搭配,效率高。 缺点: •若需要通过 AJAX 更新一篇文档的多个部分,HTML 不合 适 •innerHTML 并非 DOM 标准。
Json的意义:
如何把不同语言之间的数组让其他语言能够认识? 如何解决: 把各语言的数组转成大家都支持的一种格式,各语 言就可以通信了. Json就是一种轻量级的,通用的数组/对象转换格式. PHP中如何应用json格式 PHP中,可以对对象/数组 , 应用 json_encode把对象/数组编 成 json格式的字符串 也可以用json_decode把json格式的字符串转成 对象/数组 在javascript里,如果把json格式的字符串转成数组或对象? 答: 把该字符串表达式执行一下. 把json格式的字符串,用()包起来,再eval执行一下. Eval(); // eval
Ajax返回值
字符串:
短字符串: 应用场景: 一般返回较短,具有标志的字符串,如,0/1, succ/fail, 已注册,未注册等. Json格式字符串:应用场景: 返回数组或对象等格式化数据javascript object notation, javascript原生对象格式 Html代码: 一整段html代码应用场景: 当页面上有大块的数据变化时, 用数组要牵 涉到大量的DOM操作,这时,可以用PHP+Html,预先生成需要的html代码, 然后以 字符串形式返回.再innerHTML到页面中去.
Ajax对象的属性
onreadystatechange :事件属性,绑定当XMLHttpRequest对象的状态发生变 化的时候激发的函数。 readyState 对象状态0=未初始化,1=读取中 2=已读取, 3=交互中,4=完成。 responseText :服务器进程返回数据的文本版本 responseXML:服务器进程返回数据的兼容dom的xml文档对象 status 服务器返回的状态码,如200 404 statusText :服务器返回的状态文本信息。
Ajax对象的属性
通过本代码讲解ajax的方法
<input type="button" value="发送请求" onclick="t1();" /> <input type="button" value="取消请求" onclick="t2();" /> <input type="button" value="POST数据" onclick="t3();" /> <input type="button" value="获取头信息" onclick="t4();" /> <input type="button" value="访问百度" onclick="t5();" />
提示: 返回xm来自百度文库 格式: <result><mes>用户存在或是,不存在</mes></result>
Ajax返回值

返回xml格式
优点: •XML 是一种通用的数据格式。 •不必把数据强加到已定义好的格式中,而是要为数据自定义 合适的标记。 •利用 DOM 可以完全掌控文档。 缺点: •如果文档来自于服务器,就必须得保证文档含有正确的首部 信息。若文档类型不正确,那么 responseXML 的值将是空的 。 •当浏览器接收到长的 XML 文件后, DOM 解析可能会很复杂
经典案例—无刷新验证用户名
在用户注册时: 1 传统的方法是把用户填写的所有信息都提交到服务器,如果 用户名重复,就会出异常。 2 如果使用ajax我们可以只提交用户名,确认用户名是否存在 ,再让用户点击注册 3 这是我们第一个案例,大家注意ajax开发的几个关键点
异步刷新技术:
Js会阻塞后面的js代码执行和html代码的渲染. 而用异步传输数据,不会阻塞后面js代码执行和html代码的渲染. 异步传输:send 之后,交给浏览器内部另一个线程(比如叫ajax引擎)来维护, 后续的js代码继续。当服务器返回的内容,由ajax 引擎把要回调的工作,强行插 入到执行队列的最前面,因此回调工作立即执行了。(银行排队的例子讲解) 同步:就像打电话,电话不挂,人也不干其他的,等到挂电话后才能干其他的. 异步: 就像发短信,发完短信后,可以干其他的事情,同时等着短信回来.
提示: 返回json格式: header("Content-Type: text/html;charset=utf-8");
header("Cache-Control: no-cache"); {“mes”:”用户存在或是不存在”}
json细节:
JSON(JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。JSON是JavaScript原生 格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。 JSON的规则很简单:对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}” (右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。 规则如下: 1)映射用冒号(“:”)表示。名称:值 2)并列的数据之间用逗号(“,”)分隔。名称1:值1,名称2:值2 3) 映射的集合(对象)用大括号(“{}”)表示。{名称1:值1,名称2:值2} 4) 并列数据的集合(数组)用方括号(“[]”)表示。 [ {名称1:值,名称2:值2}, {名称1:值,名称2:值2} ] 5 元素值可具有的类型:string, number, object, array, true, false, null JSON 用冒号(而不是等号)来赋值。每一条赋值语句用逗号分开。整个对象用大括号封装起来。可用大 括号分级嵌套数据。 对象描述中存储的数据可以是字符串,数字或者布尔值。对象描述也可存储函数,那就是对象的方法。
json使用案例:
例子三: <script language="JavaScript"> var people ={ "programmers": [ {"firstName": "Brett", "email": "brett@newInstance.com" }, {"firstName": "Jason", "email": "jason@servlets.com" } ] }; window.alert(people.programmers[0].firstName); window.alert(people.programmers[1].email); </script>
相关文档
最新文档