AJAX

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、ajax是什么?asynchronous javascript and xml。

ajax技术,是为了改善“用户体验”而产生的。传统的web应用,在发送完请求以后,需要等待服务器的响应,在等待期间,用户不能做其它操作(需要等待服务器返回一个新的页面)。这样做,有两个问题:第一个是用户需要等待(也就是,浏览器向服务器发送请求的方式是“同步”的。),第二个是,浏览器需要将整个页面中的表单数据都提交给服务器,服务器也要生成一个全新的页面再返回给浏览器(也就是,浏览器与服务器之间,通讯的数据量非常大)。在ajax技术当中,使用浏览器内置的一个对象XmlHttpRequest向服务器发送请求(也就是说,不需要通过表单提交的方式,就可以向服务器发送请求,并且,这种请求方式是异步的),此时,用户可以继续对页面进行操作,不需要等待服务器的响应。当服务器处理完请求之后,不需要返回一个新的页面,只需要返回部分数据,然后,在浏览器(客户端),使用javascript,更新部分页面(使用dom),整个过程,页面无刷新。

2、ajax编程

step1 获得XmlHttpRequest对象。

该对象没有标准化,需要依据浏览器类型来分别创建。

var xhr = null;

if ((typeof XMLHttpRequest) != 'undefined') {

// FF

xmlHttpRequest = new XMLHttpRequest();

}else {

// IE

xhr = new ActiveXObject('Microsoft.XMLHttp');

}

step2 使用XmlHttpRequest向服务器发送请求。

方式一:发送get请求。

a, xhr.open(请求方式,请求的url地址,是否异步);

比如: xhr.open("get","vali.do?username=zs",true); true表示异步,false同步。

b, xhr.onreadystatechange=f1; 注册一个事件处理函数。

c,xhr.send(null);

方式二:发送post请求。

a, xhr.open(请求方式,请求的url地址,是否异步);

比如: xhr.open("post","vali.do",true); true表示异步,false同步。

b,xhr.setRequestHeader(

"Content-Type",

"application/x-www-form-urlencoded");

c,xhr.onreadystatechange=f1;

d,xhr.send("username=zs");

step3 在服务器,处理请求。

step4 在事件处理函数当中,处理服务器返回的数据。

if(xhr.readyState == 4){

var txt = xhr.responseText;

//使用txt,更新dom。

}

3、XmlHttpRequest对象的几个属性:

1)readyState:是一个number值,表示该对象与服务器的通讯的状态:

0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法)

1 (初始化) 对象已建立,尚未调用send方法

2 (发送数据) send方法已调用。

3 (数据传送中) 已接收部分数据。

4 (响应结束),已接收所有数据。

2)responseText:返回的文本。

3)responseXml:返回的符合w3c规范的xml dom对象。

4)status:返回状态码

4、编码问题

1)链接地址包含中文。浏览器会对链接地址中的中文进行编码(也包括空格、拉丁字母等字符)。会采用utf-8编码格式。在服务器端,大部分服务器默认情况下,对get请求中的数据,会采用iso8859-1解码。解决方式:对于tomcat,可以修改tomcat_home/conf/server.xml,添加URIEncoding="utf-8";

2)链接地址中,包含中文参数。

浏览器会采用打开页面时的编码来对中文进行编码。

解决方式一:指定页面的编码与URIEncoding="utf-8"一致。

解决方式二:对中文参数,使用URLEncoder.encode(中文参数,"utf-8")来编码。

3)ajax应用中的中文问题。

对于get请求,如果是ie,采用gbk/gb2312编码。如果是firefox,采用utf-8编码。解决方式:使用encodeURI(url地址):对url地址进行编码,采用的编码是utf-8。

练习:

给注册页面添加验证码,焦点失去,立即验证。

点击"confirm",完成注册。

要求支持中文。

JQuery

1.选择器(基本)

1) element $("p") $("div")

2) #id $("#d1")

3) .class $(".c1")

4) * $("*")

5) $("#c1,#c2,p")

2.

1) $("#t1 tr");

2) $("#t2 > tr")

3) $("#d1 + span" )

2. 基本方法

1) css("","") css("")

2) text("") text();

3) bind("",function(){$(this)})

-------------------------------------------------------------------

1.jQuery学习要点

(1)jQuery作用

jQuery是一款JavaScript脚本库,用于简化js开发. 其宗旨是Write less do more!

(2)前期要点

a.区分jQuery对象与DOM对象

DOM对象:document,document.getElementById,document.getElementsByTagName,this jQuery对象:jQuery选择器选出的对象, $(document),$("sohu"),$(this)

jQuery对象本质就是DOM对象的集合.

相关文档
最新文档