Ajax极速参考

本文深入解析AJAX的核心概念,包括XMLHttpRequest对象的创建、与服务器的通信过程,以及GET和POST请求方法的使用。同时,文章还提供了一个实际的案例,演示如何在表单中动态获取和展示服务器响应数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


======================================================
注:本文源代码点此下载
======================================================

ajax 的要点是 xmlhttprequest 对象。不同的浏览器创建 xmlhttprequest 对象的方法是有差异的。ie 浏览器使用 activexobject,而其他的浏览器使用名为 xmlhttprequest

的 javascript 内建对象。

1,创建xmlhttprequest.

1 function getxmlhttp(){

2var xmlhttp;

3try{

4// firefox, opera 8.0+, safari

5xmlhttp=new xmlhttprequest();

6}catch (e){

7// internet explorer

8try{

9xmlhttp=new activexobject("msxml2.xmlhttp");

10}catch (e){

11try{

12xmlhttp=new activexobject("microsoft.xmlhttp");

13}catch (e){

14alert("您的浏览器不支持ajax!");

15return null;

16}

17}

18}

19return xmlhttp;

20 }

2,xmlhttprequest与服务器的通信。

在向服务器发送数据之前,我们有必要解释一下 xmlhttprequest 对象的三个重要的属性。

onreadystatechange 属性:该属性存有处理服务器响应的函数。

readystate属性:该属性存有服务器响应的状态信息。每当 readystate 改变时,onreadystatechange 函数就会被执行。readystate可能的值如下:

0--请求未初始化(在调用 open() 之前)

1--请求已提出(调用 send() 之前)

2--请求已发送(这里通常可以从响应得到内容头部)

3--请求处理中(响应中通常有部分数据可用,但是服务器还没有完成响应)

4--请求已完成(可以访问服务器响应并使用它)

如下列代码在请求完成时获取返回数据并填充到表单myform的文本框time中:

1 xmlhttp.onreadystatechange=function()

2{

3if(xmlhttp.readystate==4)

4{

5document.myform.time.value=xmlhttp.responsetext;

6}

7}

8

要想把请求发送到服务器,我们就需要使用 open() 方法和 send() 方法。

open() 方法需要三个参数。第一个参数定义发送请求所使用的方法(get 还是 post)。第二个参数规定服务器端脚本的 url。第三个参数规定应当对请求进行异步地处理。

send() 方法可将请求送往服务器。

1 xmlhttp.open("get","time.asp",true);

2 xmlhttp.send(null);

3

post请求方法实例:

1 /*

2 @params:

3 url:提交字符串

4 params:参数,形如:a=1&c=2

5 */

6 function postrequest(url,params){

7xmlhttp=getxmlhttp();

8xmlhttp.onreadystatechange = handleresponse;

9xmlhttp.open("post",url,true);

10xmlhttp.setrequestheader("content-type","application/x-www-form-urlencoded"); //设置服务器响应请求体参数

11xmlhttp.send(params);

12 }


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值