




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Ajax实例详解1、一句话:将javascript中的一个特殊对象XMLHtmlRequest与javascript事件以及动态的html结合起来使用。2、客户端的执行流程:首先、创建XHR对象;然后向服务器发送请求;接着对服务器返回的响应做出解析.建立一个对服务器的调用所需要的基本信息:一、 服务器资源的url二、 http请求的方法三、 服务器资源所需的参数四、 一个js函数,对返回的结果进行解析 所以我们这里用open方法来产生对服务器的请求。三个方法重载:open(http_method,url)open(http_method,url,asynchronous)open(http_method,url,asynchronous,userid,password)/连接需要用户名和密码的服务器。Asynchronous为true表示异步通信,后台运行;同步请求会阻塞所有用户的请求直到响应返回所以我们通常使用异步。指定一个回调函数来接收服务器的响应。xhr.onreadystatechange = 函数名;传递的是一个函数的引用(后面无括号)执行send调用,可以用于发送那些不是由URL指定的参数;唯一的参数就是要在请求主题中发送的附加数据,get一般为空,post才附加。请求所在的生命周期:值状态描述0Uninitialized尚未调用open1Loding已经执行open2Loaded已经执行send3Interactive服务器返回数据块4Complete请求完成,服务器数据发送完毕所以我们只需检测readystate的值是否是4;还有一个status属性,包含请求的http状态,如果在200299之间表正常。通常我们取200function 回调函数() If(Xhr.readystate=4) If(xhr.status=200)获取响应 responseText/responseXML3、使用框架简化Ajax(prototype,Jquery)4、get和post请求:Get:如果请求是幂等的,多个请求返回相同的结果;Post:当改变服务器上的状态;额外添加如下设置:xmlhttp.setRequestHeader(“Content-Type”,”application/x-www-form-urlencoded”);5、问什么把时间戳放在url后面?timestamp=”+new Date().getTime();答:有些浏览器会把多个XMLHttpRequest请求的结果缓存在统一个URL,如果对每个请求的响应不同,这就会带来不好的结果,为了保证url的唯一性,从而避免缓存结果冲突。2014年4月18日 10:41:35Ajax:Asynchronous JavaScript and xml瞬态(transient)和独占(sovereign)Ajax的四个基本原则:(1) 浏览器中的是应用不是内容(2) 服务器交互的是数据而不是内容(3) 用户交互变得流畅而连续(4) 有纪律的严肃编程全面理解Http的状态代码、就绪状态、XmlHttpRequest如下问题:1. 是否浏览器只是读取HTML中的文本并将其显示2. CSS呢?尤其是当CSS位于外部文件时3. JavaScipt呢?它也通常位于外部文件中4. 浏览器如何处理这些项,如何将事件处理程序、函数和样式映射到该文本标记?你控制的不是哪些现实效果、字体大小,因为用户可以通过浏览器限制它们。你绝对控制的是页面的结构,牢记您的标记只为您的页面提供组织、框架,您就能立于不败之地。通过使用对象来表示HTML文档的每一部分,可以很容易的更改组织、应用样式、允许javascript访问文档。HTML中的元素用Element对象类型表示。文档中的文本用Text类型表示,属性用Attribute类型表示,以此类推。DOM中一切皆是节点:进一步划分为:元素节点、属性节点、文本节点等等。这三种是最常用的。我们创建节点的时候会自动加上结尾(闭合的标签);DOM的核心是与语言无关的的API,可以用任何语言实现,DOM HTML对象及其属性id,title,lang,dir,className(class);1、在DOM规范发布之前,浏览器已经以不同的形式实现了BOM,有些专用,有些不是,为了与这些之前的工作保持向后兼容,W3C还发布了DOM API的一个自定义子集:DOM HTML API.DOM HTML API是面向对象的、层次结构的Web页面视图,它提供了一些映射到HTML元素的对象:针对document的HTMLDocumentElement、针对body的HTMLBodyElement等。DOM集合:有些DOM HTML接口并不直接表示特定的html元素,而是表示对象的集合。对象的集合可以通过其父元素访问,如document(all、anchors、forms、images、links)和form(Elements),用HTMLCollection接口表示的。HTMLCollection接口只有一个名为length的属性,还有两个方法:一个是item(i),另一个是namedItem(“”);2、DOM:Core API节点属性和方法nodeName nodeValue nodeType parentNode childNodes firstChild lastChild priviousSibling nextSibling attributes ownerDocument namespaceURI Prefix localName IE对于标签外面的空白符是不会创建其text对象的。而其他的浏览器会。DOM核心中还有一个重要的元素那就是Element.文档中的所有页面元素都将从Element元素中继承一个API和多个属性getAttribute(name) setAttribute(name,value) removeAttribute(name)getAttributeNode(name) setAttributeNode(attr) removeAttrbuteNode(attr) has Attribute(name)3.文本节点:appendData(text) 将提供的文本追加到文本节点的已有内容之后。 insertData(position, text) 允许在文本节点的中间插入数据。在指定的位置插入提供的文本。 replaceData(position, length, text) 从指定位置开始删除指定长度的字符,用提供的文本代替删除的文本。4.XML到底有用没用?XMLHttpRequest糟糕的名称和Http请求是http而非xml.https 表示安全的 HTTP,只是使用了比一般 Web请求更安全的 HTTP 协议形式。因此即便是 HTTPS,实际上用的仍然是HTTP,虽然增加了某些安全层来挡住那些好奇的眼睛。XML 选项在异步应用程序中 XML 有两种基本的用法: (1)以 XML 格式从网页向服务器发送请求 xmlHttp.setRequestHeader(Content-Type, text/xml);/不可少 (2)以 XML 格式在网页中从服务器接收请求2014年4月20日 13:24:53Ajax传输数据的三重方式;(1) xml:笨重,解析困难,但xml是通用的数据交换方式(2) Html:不需要解析可以直接放到文档中,若仅更新一部分区域,但传输数据有限不是很方便,且html代码需要拼装完成(3) JSON:小巧,有面向对象的特征,且有很多第三方的jar可以把java对象集合转为JSON字符串。使用Jquery完成Ajax操作1) load方法:可以用于html文档的元素节点,把结果直接加为对应节点的子元素,通常而言,load方法加载后的数据是一个html片段var $obj = var url = .Var args = key:value,.;$obj.load(url,args);2)$.get,$.post,$.getJSON:更加灵活,除去使用load方法的情况,大部分使用这三个方法:I、基本的使用/url:Ajax请求的目标url/args:传递的参数:json类型/data:Ajax响应成功后的数据,可能是XML,html,json$.get(url,args,function(data)II.请求JSON数据$.get(url,args,function(data),”JSON”);$.post(url,args,function(data),”JSON”);$.g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025机械工程师职称考试题及参考答案
- 2025年汽车修理工(装调工)高级技师理论知识竞赛试题与答案
- 2025食品安全管理员培训考试试题及答案
- 2025康复医学考试试题(含参考答案)
- 2024年急救设备操作试题(附答案)及设备相关应急预案考试题(附答案)
- 2024年湖南省常德市医疗三严三基理论考试题库及答案
- 2025年护理资格知识:膀胱肿瘤术后化疗灌注常用药物理论考试试题及答案
- 标准防护用品使用课件
- 标准圆柱齿轮参数课件
- 柴油发动机燃油供给课件
- 2025年十八项核心制度考试试题库(含答案)
- 2025年食堂安全培训考试题及答案
- 反诈防骗安全知识培训课件
- 砂石垫资合作协议合同范本
- 期中评估测试卷(含答案) 2025-2026学年数学人教版九年级上册
- 居民供水应急预案方案(3篇)
- 北师大版八年级数学上册第一章 勾股定理 单元测试卷(含答案)
- 铁路建设项目质量安全红线管理考试试题及答案
- 护工清洁护理培训
- 厂房钢结构屋面与彩钢板施工规划与方案
- 违法建筑用电管理办法
评论
0/150
提交评论