Ajax基础入门

1.什么是ajax

全称:Asynchronous JavaScript and XML(用异步的形式的JavaScript去操作XML) 用来传输进行数据交互==其实就是拿数据发数据。

2.应用

Ajax就是做到当页面内容发生改变的时候能不刷新页面,就能把改变告知我们。比如,我们注册的时候信息填写错误,是不是没刷新页面就能直接看到信息提示,比如我们玩QQ的时候,有什么消息都会提醒你,丝毫没有刷新页面,丝毫没有影响你干别的事情,这就是Ajax做的事情。

3.具体步骤

(1)创建ajax对象

var xhr = new XMLHttpRequest(); 

(2)设置请求信息

xhr.open(method,url,async);method:请求的类型;GET 或 POSTurl:文件在服务器上的位置async:true(异步)或 false(同步)

(3)提交请求

xhr.send();

(4)等待服务器返回内容

xhr.onreadystatechange = function() {
  //弹出内容
} 

4.具体例子

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>TestAjax</title>
 6 <script type="text/javascript">
 7     function loadXMLDoc()
 8     {
 9         var xhr;
10         if (window.XMLHttpRequest)
11         {// code for IE7+, Firefox, Chrome, Opera, Safari
12             xhr=new XMLHttpRequest();
13         }
14         else
15         {// code for IE6, IE5
16             xhr=new ActiveXObject("Microsoft.XMLHTTP");
17         }
18         xhr.open("GET","hello.txt",true);
19         xhr.send();
20         xhr.onreadystatechange=function()
21         {
22             if (xhr.readyState==4 && xhr.status==200)
23             {
24                 document.getElementById("myDiv").innerHTML=xhr.responseText;
25             }
26         }
27     }
28 </script>
29 </head>
30 <body>
31 <h2>AJAX</h2>
32 <button type="button" onclick="loadXMLDoc()">请求数据</button>
33 <div id="myDiv"></div>
34 </body>
35 </html>                                                                        点击按钮"请求数据" 会在id="myDiv"的div下显示出hello.txt的内容(不会刷新整个页面)
说明:1.html和txt文件在同一个目录下2.创建的ajax对象实际是存在兼容问题的,IE6以下没有这个对象的,所以是获取不到数据的,IE6以下用的实际是一个插件的方式:

ActiveXObject(‘Microsoft.XMLHTTP‘) //ActiveXObject: IE6下插件的总称,包含很多插件
//Microsoft.XMLHTTP:具体某个插件的名字

所以我们需要对上面做一个兼容性的处理:



var xhr = null;
if(window.XMLHttpRequest){ //加window是因为如果直接判断IE下不存在的东西会报错,加了window,就是在判断一个属性是否存在,这样就不会报错了(当然我们都知道所有的东西都在window对象下,所以这样判断是有效的)
xhr = new XMLHttpRequest();
}else{
xhr = new ActiveXObject(‘Microsoft.XMLHTTP‘);
}

3.在上面的代码中xhr.send()提交请求是需要时间的,所以必须要等到一定时间提交成功后,我们后面的才能正确获取到内容,所以这就是后面的代码正确执行,依赖于前面,但是如果用同步的话,我们后面那些不依赖这些前面代码的代码也没办法执行,体验就不好了,所以我们选择用异步,而对于这些依赖前面代码执行的代码,我们就进行判断

if (xhr.readyState==4 && xhr.status==200)

就是判断如果数据响应到了,收到了,再弹出内容。(如果我们不判断,按照异步的原理,就会立马弹出来,获取数据需要时间,因为实际还没获取到数据,所以会弹出空,怕误解,所以这里我     再强调下).

时间: 2024-12-29 09:54:36

Ajax基础入门的相关文章

从零基础入门JavaScript(1)

从零基础入门JavaScript(1) 1.1  Javascript的简史 1995年的时候   由网景公司开发的,当时的名字叫livescript    为了推广自己的livescript,搭了java顺风车,改名为javascript 与此同时,     微软因此在自身的浏览器里,也推出了自己的脚本语言 jscript 1997年时候,  由ECMA(欧洲计算机制造商协会)出面,推出了一套javascript的规范,Ecmascript ,规范提出js由三部分组成 JS的组成: ECMAS

XML之基础入门

学编程吧 XML之基础入门发布了,欢迎通过xuebiancheng8.com来访问 什么是XML? 所谓XML,其全称为ExtensilbleMarkup Language,意为可扩展标记语言,十分类似于HTML,即超文本标记语言. XML是一种标记语言,其设计的目的是包含和传输数据,而非显示数据.它的标签没有被预先定义,在使用过程中需要自行定义.XML被设计为具有自我描述性,是W3C的推荐标准. 与HTML的异同. 首先要明确的一点是:XML不是为了取代HTML而产生的技术,它们是为了不同的目

EasyUI基础入门之Pagination(分页)

前言 对于一些企业级的应用来说(非站点),页面上最为基本的内容也就是表格和form了.对于类似于ERP这类系统来说数据记录比較大,前端表格展示的时候必需得实现分页功能了.恰巧EasyUI就提供了分页组件Pagination pagination覆盖默认$.fn.pagination.defaults.Pagination分页同意用户通过分页的方式来浏览数据,它支持可配置的选项,页面导航和页面长度的选择,并且用户能够加入?分页的右边定制button来增强分页功能. 只是pagination是依赖于

SpringMVC基础入门

一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!--configure the setting of springmvcDispatcherServlet and configure the mapping--> <servlet>     <servlet-name>

转载:Ajax基础详解&amp;&amp;http填坑2

这篇文章是网上看到的一片博文,比较干练的总结了AJAX的基础东西和相关的http的知识,适合AJAX入门. 同步请求和异步请求 先解释一下同步和异步的概念: 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式. 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式. 同步请求: 客户端请求(等待)->服务端处理->响应->页面载入 (缺少对象:XMLhttpRequest)这时候如果有错误,只能再次发送请求,再次等待 异步请求: 比如当你填

SpringMVC基础入门,创建一个HelloWorld程序

ref:http://www.admin10000.com/document/6436.html 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!--configure the setting of springmvcDispatcherServlet and configure the ma

零基础入门jQuery视频教程

零基础入门jQuery最新版开发.NET富客户端应用(选择器.DOM操作.事件和动画.Ajax应用.插件.Mobile)课程分类:.NET+Jquery适合人群:初级课时数量:35课时用到技术:javascript,ajax,jquery,handler涉及项目:各知识点的项目案例和名为JaneShop的品牌服装和包包的购物网站咨询qq:1840215592 零基础入门jQuery视频教程详细查看:http://www.ibeifeng.com/goods-425.html 零基础入门jQuer

Ajax基础讲解 1

随着web的不断发展,Ajax的运用越来越普及,但是对很多同学来说Ajax稍微有些难懂,今天呢就简单给大家讲解一下Ajax的一些基础入门的知识,希望可以帮到刚学习Ajax的同学. 第一步:首先就是服务器的搭建,关于服务器呢不同的人有不同的需求,刚学的人就不要考虑到底用哪个服务器好了,根据每个人的技术不同服务器也不同,新手就随便弄一个可以用的就可以了,我用的是WampServer这个,比较好安装,用于自己写的页面足够了,没有服务器的同学如果想用,可以在下面给我留言,我看到会给你发送过去的:(另外多

Android基础入门教程——10.12 传感器专题(3)——加速度-陀螺仪传感器

Android基础入门教程--10.12 传感器专题(3)--加速度/陀螺仪传感器 标签(空格分隔): Android基础入门教程 本节引言: 本节继续来扣Android中的传感器,本节带来的是加速度传感器(Accelerometer sensor)以及 陀螺仪传感器(Gyroscope sensor),和上一节的方向传感器一样有着x,y,z 三个轴, 还是要说一点:x,y轴的坐标要和绘图那里的x,y轴区分开来!传感器的是以左下角 为原点的!x向右,y向上!好的,带着我们的套路来学本节的传感器吧