Ajax技术剖析

  Ajax的全称是Asynchronous JavaScript and XML,是JS的特有功能,它作用是异步JS数据交互,即在不进行页面刷新的情况下进行部分数据的获取,性能较高。值得注意的是,仅有Ajax是不能够实现跨域的操作,如果和JSONP或者WebSocket配合可以实现。

  Ajax工作方式:

  

1.Ajax成员属性

  (1)responseText  后台返回数据存放的位置,返回值为字符串型

  (2)readyState   系统记录执行的步骤,共有5个值:0 尚未初始化

                            1 服务连接已建立(open)

                            2 请求已接收(send)

                            3 请求处理中

                            4 请求完成

  (3)responseXML    返回类型是XML类型,90%使用JSON方式

  (4)status      服务器返回的http响应值,常用如下:

    • 200 请求成功
    • 400 错误请求
    • 500 内部服务器错误

2.Ajax成员方法

  (1)open(method,url)  打开方式,method为两种:POST/GET

  (2)send(body)  确认发送请求

  (3)setRequestHeader(name,value)  设置请求头部

    使用方式:xhr.setRequestHeader(‘content-type’,’application/x-www-form-urlencoded’);

    form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data

3.Ajax监听事件

  onreadystatechange  状态变化事件控制对象,注意这个事件名全部是小写而非驼峰式命名,不过平时会有代码生成帮助我们

4.Ajax实现四步骤

  Ajax有一句常用的话,1个事件(onreadystatechange)、2个属性(responseText和readyState)、3个方法(open/send/setRequestHeader),在使用Ajax的时候经常会用到对应的内容。

  (1)var xhr = new XMLHttpRequest();//创建XMLHttpRequest对象

  (2)xhr.onreadystatechange=function(){

    console.log(xhr.readyState);

    console.log(xhr.responseText);

      }//xhr对象改变时自动调用此函数

  (3)xhr.open(‘GET‘,‘data.txt‘);//从data.txt中获取内容

  (4)xhr.send(null);//发送请求

5.Ajax请求

  (1)GET  此方式负责从后台获取数据,常用于验证用户

        GET的请求头部一般可以不写,默认为xhr.setRequestHeader(‘content-type’,’application/x-www-form-urlencoded’)

  (2)POST  此方式向后台发送表单数据,如密码

           POST的请求头部需要分情况而定,当表单method="post"时,如果没有type="file"控件,使用application/x-www-form-urlencoded,反之,使用multipart/form-data

6.代码样例

  在使用之前,需要先创建一个data.txt的文档。

 1 <script>
 2     var box = document.querySelector(‘div’);
 3     var btn = document.querySelector(‘button’);
 4     btn.onclick = function(){
 5         var xhr = new XMLHttpRequest();
 6         xhr.onreadystatechange = function(){
 7             box.innerHTML = xhr.responseText;
 8         }
 9     xhr.open(‘GET’,’data.txt’);
10     xhr.send(null);
11     }
12 </script>
时间: 2024-10-10 17:48:16

Ajax技术剖析的相关文章

WCF技术剖析之四:基于IIS的WCF服务寄宿(Hosting)实现揭秘

原文:WCF技术剖析之四:基于IIS的WCF服务寄宿(Hosting)实现揭秘 通过<再谈IIS与ASP.NET管道>的介绍,相信读者已经对IIS和ASP.NET的请求处理管道有了一个大致的了解,在此基础上去理解基于IIS服务寄宿的实现机制就显得相对容易了.概括地说,基于IIS的服务寄宿依赖于两个重要的对象:System.ServiceModel.Activation.HttpModule和System. ServiceModel.Activation.HttpHandler. 一.通过Htt

ajax技术实现登录判断用户名是否重复以及利用xml实现二级下拉框联动

今天学了ajax技术,特地在此写下来作为复习. 一.什么是ajax? 客户端(特指PC浏览器)与服务器,可以在[不必刷新整个浏览器]的情况下,与服务器进行异步通讯的技术  即,AJAX是一个[局部刷新]的[异步]通讯技术, 说白了就是局部刷新. 二.ajax的原理如下图 附上ajax与服务器之间的几种状态,但 4是所有浏览器都支持的的 三.ajax包含的技术如下图 四.ajax开发步骤 步一:创建ajax对象,例如:ajax = createAjax(); 步二:开启异步对象:例如:ajax.o

docker技术剖析--镜像、容器管理

防伪码:博观而约取,厚积而薄发                                 docker技术剖析--镜像.容器管理 一.Docker简介 Docker是什么? Docker的英文本意是"搬运工",在程序员的世界里,Docker搬运的是集装箱(Container),集装箱里装的是任意类型的App,开发者通过Docker可以将App变成一种标准化的.可移植的.自管理的组件,可以在任何主流系统中开发.调试和运行. 说白了,docker是一种用了新颖方式实现的轻量级虚拟机,

《WCF技术剖析》博文系列汇总[持续更新中]

http://www.cnblogs.com/artech/archive/2009/11/21/1607686.html 近半年以来,一直忙于我的第一本WCF专著<WCF技术剖析(卷1)>的写作,一直无暇管理自己的Blog.在<WCF技术剖析(卷1)>写作期间,对WCF又有了新的感悟,为此以书名开始本人的第三个WCF系列.本系列的目的在于对<WCF技术剖析>的补充,会对书中的一些内容进行展开讲述,同时会囊括很多由于篇幅的原因忍痛割弃的内容. [第1篇] 通过一个ASP

jQuery学习笔记10:Ajax技术

jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. jQuery 采用了三层封装:最底层的封装方法为:$.ajax(),而通过这层封装了第二层有三种方法:.load().$.get()和$.post(),最高层是$.getScript()和$.getJSON()方法. 函数 描述 jQuery.ajax() 执行异步 HTTP (Ajax) 请求. .ajaxComplete() 当 Ajax 请求完成时注册要调用的处理程序.这是一个

Web应用程序开发,基于Ajax技术的JavaScript树形控件

感谢http://www.cnblogs.com/dgrew/p/3181769.html#undefined 在Web应用程序开发领域,基于Ajax技术的JavaScript树形控件已经被广泛使用,它用来在Html页面上展现具有层次结构的数据项. 目前市场上常见的JavaScript框架及组件库中均包含自己的树形控件,例如jQuery.Dojo.YUI.Ext JS等,还有一些独立的树形控件,例如dhtmlxTree等,这些树形控件完美的解决了层次数据的展示问题. 展示离不开数据,树形控件主要

WCF技术剖析之十八:消息契约(Message Contract)和基于消息契约的序列化

在本篇文章中,我们将讨论WCF四大契约(服务契约.数据契约.消息契约和错误契约)之一的消息契约(Message Contract).服务契约关注于对服务操作的描述,数据契约关注于对于数据结构和格式的描述,而消息契约关注的是类型成员与消息元素的匹配关系. 我们知道只有可序列化的对象才能通过服务调用在客户端和服务端之间进行传递.到目前为止,我们知道的可序列化类型有两种:一种是应用了System.SerializableAttribute特性或者实现了System.Runtime.Serializat

在 PHP 中结合 Ajax 技术进行图片上传

前面几则日志中讲述了在 PHP 中上传文件,相信大家对 PHP 中如何进行文件上传已经初步掌握.本文来继续探讨在 PHP 中上传文件的技术,不同的是,本次上传将仅限于图片文件的上传,并且将采用 Ajax 技术. 本例将要实现这样的效果:当用户选择图片,开始上传后,后台上传完成时,随即会显示到当前页面.由于,从开始上传到上传完成,再到图片显示均在一个页面上 完成(从表面上看).所以使用 Ajax 技术是必须的.但如何使用这些操作在一个页面上来完成呢?考虑到这样的情况,当文件开始上传后,便开始打开

EBS OAF 页面的技术剖析(2)

(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 原文来自于OAF开发文档 OADBTransaction 图5:基础模型架构-OADBTransaction 注意:要完全的精确和兼容,这个图应该包含实现类oracle.apps.fnd.framework.server.OADBTransactionImpl而不是oracle.apps.fnd.framework.OADBTransaction接口,尽管如此,我们选择稍后再包含它因为你只在