Ajax 介绍
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 介绍的更多相关文章
- django Ajax介绍
1.Ajax技术 认识ajax之前必须先了解json模块,json(Javascript Obiect Notation,JS对象标记)属于一种轻量级的数据交换格式 json的格式来源于js的格式 ...
- Ajax介绍
AJAX AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJA ...
- Ajax介绍及爬取哔哩哔哩番剧索引追番人数排行
Ajax,是利用JavaScript在保证页面不被刷新,页面链接不改变的情况下与服务器交换数据并更新部分网页的技术.简单的说,Ajax使得网页无需刷新即可更新其内容.举个例子,我们用浏览器打开新浪微博 ...
- 关于Jquery中ajax介绍
jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象.大多数情况下你无需直接操作该函数,除非你需 ...
- [Ajax系列]Ajax介绍
Ajax简介: Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. What ? AJAX=异步JavaScript和XML AJAX是一种用于创建快读动态网页的技术 通过在后台语 ...
- JQuery AJAX介绍
new ActiveXObject("Microsoft.XMLHTTP")是IE中创建XMLHttpRequest对象的方法.非IE浏览器中创建方法是new XmlHttpReq ...
- ajax介绍及使用
一.什么是ajax:(只刷新局部页面的技术) AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发 ...
- Unit01: Ajax介绍
Unit01: Ajax 1. ajax是什么? (asynchronous javascript and xml) ajax是一种用来改善用户体验的技术,本质是利用浏览器提供的一个 特殊对象(XML ...
- [TimLinux] JavaScript 原生AJAX介绍
1. AJAX 异步JavaScript + XML,用于浏览器内部通过前端JavaScript语言操纵,与HTTP服务器进行连接通信的技术. 2. XMLHttpRequest对象 从IE7+,以及 ...
随机推荐
- 斐波那契数列 Php练手
数列从第三项开始,每一项都等于前两项之和. F0=0,F1=1,Fn=F(n-1)+F(n-2) 递归版和非递归版. <?php function fib($n){ $array = array ...
- Android高级图片滚动控件,编写3D版的图片轮播器
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17482089 大家好,好久不见了,最近由于工作特别繁忙,已经有一个多月的时间没写博 ...
- SSH 服务启动时出现如下错误:fatal: Cannot bind any address
注意:本文相关配置及说明已在 CentOS 6.5 64 位操作系统中进行过测试.其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档. 问题描述 云服务器 ECS (Elast ...
- PL/SQL破解方法(不需要注册码)
打开注册表在run下输入regedit删除1.HKEY_CURRENT_USER/Software/Allround Automations2.HKEY_CURRENT_USER/Software/M ...
- 除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。
在 SELECT 后加 TOP 100 PERCENT .
- 使用区域组织 ASP.NET MVC 应用程序
MVC 模式可将应用程序的模型(数据)逻辑与其呈现逻辑和业务逻辑分离. 在 ASP.NET MVC 中,这种逻辑分离还在项目结构中以物理方式实现,在该项目结构中,控制器和视图保存在使用命名约定定义关系 ...
- 数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量
当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选 ...
- 慕课linux学习笔记(九)常用命令(6)
关机与重启命令 Shutdown [选项] 时间 -c 取消前一个关机命令 -h 关机 -r 重启 Shutdown -r now 其他关机命令 Halt Poweroff Init 0 其他重启命令 ...
- myeclipse 不能添加非myeclipse开发的项目
这是因为以前的项目不是用myEclipse创建的,所以用myeclipse deploy的时候找不到你的项目.可以这样做:右击原项目名 - myeclipse - Add Web Project Ca ...
- Front end workflow
标签:请叫我红领巾 记一哈记一哈 ^_^ 推荐个不错的群 自己刚开始折腾的时候也是无处下手,渺茫啊.然而我是有一个很好的前端群(真的很棒,欢迎加入:[375042952]),关注群里的每一次讨论,每一 ...