Ajax 简单实例

一、XMLHttpRequest 对象的方法与属性

方     法

描     述

abort()

停止当前请求

getAllResponseHeaders()

把 HTTP 请求的所有响应首部作为键 / 值对返回

getResponseHeader("header")

返回指定首部的串值

open("method", "url")

建立对服务器的调用。 method 参数可以是 GET 、 POST 或 PUT 。 url 参数可以是相对 URL 或绝对 URL 。这个方法还包括 3 个可选的参数

send(content)

向服务器发送请求

setRequestHeader("header", "value")

把指定首部设置为所提供的值。在设置任何首部之前必须先调用 open()


  属  性

描     述

onreadystatechange

每个状态改变时都会触发这个事件处理器,通常会调用一个 JavaScript 函数

readyState

请求的状态。有 5 个可取值: 0 = 未初始化, 1 = 正在加载, 2 = 已加载, 3 = 交互中, 4 = 完成

responseText

服务器的响应,表示为一个串

responseXML

服务器的响应,表示为 XML 。这个对象可以解析为一个 DOM 对象

status

服务器的 HTTP 状态码( 200 对应 OK , 404 对应 Not Found (未找到),等等)

statusText

HTTP 状态码的相应文本( OK 或 Not Found (未找到)等等)


二、使用XMLHttpRequest 实现ajax效果
这里我们用客户端通过XMLHttpRequest 请求服务端获取当前系统时间,实现异步交互!
客户端myAjax.html代码
< html  xmlns ="http://www.w3.org/1999/xhtml"   >
< head >
    
< title > xmlhttprequest ajax demo </ title >
    
< script  type  ="text/javascript"  language  ="javascript"   >
        
var  req;  // 定义变量,用来创建xmlhttprequest对象
         function  creatReq()  //  创建xmlhttprequest,ajax开始
         {
            
var  url = " ajaxServer.aspx " // 要请求的服务端地址
             if (window.XMLHttpRequest)  // 非IE浏览器,用xmlhttprequest对象创建
             {
                req
= new  XMLHttpRequest();
            }

            
else   if (window.ActiveXObject)  // IE浏览器用activexobject对象创建
             {
                req
= new  ActiveXObject( " Microsoft.XMLHttp " );
            }

            
            
if (req)  // 成功创建xmlhttprequest
             {
                req.open(
" GET " ,url, true );  // 与服务端建立连接(请求方式post或get,地址,true表示异步)
                req.onreadystatechange  =  callback;  // 指定回调函数
                req.send( null );  // 发送请求
            }

        }

        
        
function  callback()  // 回调函数,对服务端的响应处理,监视response状态
         {
            
if (req.readystate == 4 // 请求状态为4表示成功
             {
                
if (req.status == 200 // http状态200表示OK
                 {
                    Dispaly(); 
// 所有状态成功,执行此函数,显示数据
                }

                
else   // http返回状态失败
                 {
                    alert(
" 服务端返回状态 "   +  req.statusText);
                }

            }

            
else   // 请求状态还没有成功,页面等待
             {
                document .getElementById (
" myTime " ).innerHTML  = " 数据加载中 " ;
            }

        }

        
        
function  Dispaly()  // 接受服务端返回的数据,对其进行显示
         {
            document .getElementById (
" myTime " ).innerHTML  = req.responseText;
        }

        
    
</ script >
</ head >
< body >
    
< div  id ="myTime" ></ div >
        
    
< input  id ="Button1"  type ="button"  value ="Get Time"   onclick  ="creatReq();" />
</ body >
</ html >
服务端ajaxServer.aspx代码
public  partial  class  ajaxServer : System.Web.UI.Page
{
    
protected   void  Page_Load( object  sender, EventArgs e)
    
{
        System.Threading.Thread.Sleep(
1000 );  // 为了看到ajax效果,将当前线程延时1000毫秒
        Response.Write(DateTime .Now .ToString ());  // 输出当前时间
    }

}
运行效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值