Ajax的关键技术:  异步处理数据

使用XHTML(HTML)和CSS构建标准化的展示层

使用DOM(document object model)进行动态显示和交互

使用XML和XSLT进行数据交换和操纵

使用XMLHttpRequest异步获取数据

使用JavaScript将所有元素绑定在一起

应用范畴:

局部刷新。

获取其它网页的内容。

需要异步读取的地方。

缺点:

不被搜索引擎支持。

不支持浏览器的后退功能。

纯粹的JavaScript语言。

AJAX数据处理的实现机制

AJAX的主要应用是异步获取后台数据和局部刷新。

异步获取数据的原理是:通过Ajax技术把网络上或服务器上的数据下载到 客户端的内存中,然后使用JavaScript语言根据实际需要整合这些资源, 并用CSS和DOM实现对界面的布局。

AJAX处理数据的特点就是异步调用和按需索取。

异步读取实现的原理是:当用户选择某项功能时,这项功能调用过程中页 面不会出现中断,用户此时可以浏览其它内容,而非传统的白屏等待页面。

异步的意思与多线程类似,使用XMLHttp可以在后台运行用户的操作,而用 户在前台感觉不到数据在交互,如此Ajax就可以实现异步调用功能.这样 就不会中断用户的操作,也不会刷屏,让用户休验Web2.0时代的页面特色。

按需索取实现的原理是:将服务器端的数据根据需要分成多个多页,然后客 户端需要哪个内容,则使用XMLHttp加载哪个网页,最后用Response.Write 返回索取的数据。

一般处理程序: XX.ashx   没有前台,只有后台,输出数据(提供所需要的数据)

Html网页里面提供外壳,一般处理程序-->.ashx  提供数据   需要哪个内容就去找哪个一般处理程序

Ajax中异步获取数据的流程有4步:

1.创建异步对象。2.加载要获取的服务器页面。3.判断异步调用的状态。 4.发送异步请求。

其中: 加载(Open)和发送(Send)是异步请求的两个主要方法。 异步返回的数据在判断状态的事件中获取。

加载服务器的方法Open(): xmlhttp.Open(Method,url,ayac);

其中Method表示向服务器发送请求的 HTTP方法,此参数主要有两种值(get、post)。

url:表示请求的服务器地址,如果是XML文件则写出文件相对网站的路径。

ayac:是否使用异步方式获取数据(true则xmlhttp将异步调用对象)。

发送异步请求方法Send(): xmlhttp.Send()/xmlhttp.Send(null);

Send有两种形式,一种带参数,一种不 带参数。如果发送请求参数已经在URL中则Send参数设为null或不写。

有关状态的属性有3个:

readyState:表示请求的状态,共有5个,这些状态的顺序及代表值如下: 0(未初始化)->1(正在加载)->2(已加载)->3(交互中)->4(完成)

status:服务器响应HTTP状态码(200对应OK,404对应NoT Found)。

异步返回值的属性有3个:

responseText:以字符串形式返回服务器的响应。

responseXML:以XML形式返回服务器的响应。

responseBody:因为服务器的响应包括head、body等全部信息所以可以 使用此属性只获取相应的body部分信息。

onreadystatechange事件:此事件以属性的方式存在于XMLHttp 对象中,当创建完XMLHttp对象后,需要为对象指定一个方法 用来监视请求状态的变化. xmlhttp.onreadystatechange=proce;

其中proce是一个自定义的javascript方法,一旦指定了这个 事件的方法,就可以在proce方法中判断请求的状态,并可以 根据状态号执行不同状态时期的客户端处理。

Get: 注意:

使用open()方法的时候在地址栏传递参数open(‘get’, 'target.aspx?name=raoqi&&pass=123');

send();

Post: 注意:

当使用post方式的时候必须要设置一下属性用来统一编码 xmlHttp.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8;'); send('name=raoqi&&pass=123');

Ajax 介绍的更多相关文章

  1. django Ajax介绍

    1.Ajax技术 认识ajax之前必须先了解json模块,json(Javascript  Obiect  Notation,JS对象标记)属于一种轻量级的数据交换格式 json的格式来源于js的格式 ...

  2. Ajax介绍

    AJAX AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJA ...

  3. Ajax介绍及爬取哔哩哔哩番剧索引追番人数排行

    Ajax,是利用JavaScript在保证页面不被刷新,页面链接不改变的情况下与服务器交换数据并更新部分网页的技术.简单的说,Ajax使得网页无需刷新即可更新其内容.举个例子,我们用浏览器打开新浪微博 ...

  4. 关于Jquery中ajax介绍

    jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象.大多数情况下你无需直接操作该函数,除非你需 ...

  5. [Ajax系列]Ajax介绍

    Ajax简介: Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. What ? AJAX=异步JavaScript和XML AJAX是一种用于创建快读动态网页的技术 通过在后台语 ...

  6. JQuery AJAX介绍

    new ActiveXObject("Microsoft.XMLHTTP")是IE中创建XMLHttpRequest对象的方法.非IE浏览器中创建方法是new XmlHttpReq ...

  7. ajax介绍及使用

    一.什么是ajax:(只刷新局部页面的技术) AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发 ...

  8. Unit01: Ajax介绍

    Unit01: Ajax 1. ajax是什么? (asynchronous javascript and xml) ajax是一种用来改善用户体验的技术,本质是利用浏览器提供的一个 特殊对象(XML ...

  9. [TimLinux] JavaScript 原生AJAX介绍

    1. AJAX 异步JavaScript + XML,用于浏览器内部通过前端JavaScript语言操纵,与HTTP服务器进行连接通信的技术. 2. XMLHttpRequest对象 从IE7+,以及 ...

随机推荐

  1. BNU10805:矩形神码的

    我们都知道,矩形是由两条对角线的,没错吧?(谜之声:这不是显然么!)这两条线的长度也是相等的,没错吧?(谜之声:这不废话么!)然后我们给定一条对角线的起始点和终止点的坐标,然后给定另一个对角线和他的夹 ...

  2. 在 VS2008 下操作 Excel 的方法总结

      这些天做个软件,需要读取 Excel 并导入到数据库中,所以研究了一下在 VC 下操作 Excel 的方法,这里做个总结,以作备忘. 一.最常用的 OLE 自动化方式 这个方式应该说是功能最全的方 ...

  3. 如何给你的Android 安装文件(APK)瘦身

    如何给你的Android 安装文件(APK)瘦身 本文翻译自:Putting Your APKs on Diet           原作者:Cyril Mottier Android的apk文件越来 ...

  4. Oracle11g环境设置-windows环境

    新建环境变量(系统变量),变量名:ORACLE_HOME 变量值:E:\app\Administrator\product\11.2.0\dbhome_1 新建环境变量(系统变量),变量名:ORACL ...

  5. 错误记录--更改tomcat端口号方法,Several ports (8005, 8080, 8009)

    启动Tomcat服务器报错: Several ports (8005, 8080, 8009) required by Tomcat v5.5 Server at localhost are alre ...

  6. ios9API基础知识总结(二)

    UIAlertView(警告框) UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"标题" message:@&qu ...

  7. poj3122 binary search 实数区间

    Pie Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14536   Accepted: 4979   Special Ju ...

  8. C/C++中的虚析构函数和私有析构函数的使用

    代码: #include <iostream> using namespace std; class A{ public: A(){ cout<<"construct ...

  9. 洛谷 P1896 互不侵犯King

    P1896 [SCOI2005]互不侵犯King 题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共 ...

  10. 无法捕获的异常:MissingMethodException

    今天一个同事发布站点,一直出现一些稀奇古怪的问题,各种各样的异常都有,根据这些异常去排查代码,都完全正常,很让人郁闷,因为代码里可能出异常的地方都记录了程序日志,所以他一直没去排查系统里的“应用程序日 ...