博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
XMLHttpRequest Ajax 实例简介
阅读量:6695 次
发布时间:2019-06-25

本文共 2357 字,大约阅读时间需要 7 分钟。

一、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浏览器及IE7(7.0及以上版本),用xmlhttprequest对象创建
            {
                req
=new XMLHttpRequest();
            }
            
else if(window.ActiveXObject) //IE(6.0及以下版本)浏览器用activexobject对象创建,如果用户浏览器禁用了ActiveX,可能会失败.
            {
                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代码 (不需要HTML代码,只需服务端处理返回数据,也可用ashx文件来处理)

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 ()); //输出当前时间
    }
}

运行效果:

本文转自chy710博客园博客,原文链接:http://www.cnblogs.com/chy710/archive/2007/04/15/713868.html,如需转载请自行联系原作者

你可能感兴趣的文章
时间序列分析算法【R详解】
查看>>
Nginx+ffmpeg的HLS开源服务器搭建配置及开发详
查看>>
无效报表文件路径
查看>>
eclipse repository connector
查看>>
谈谈多线程开发中的线程和任务的理念
查看>>
571B. Minimization(Codeforces Round #317)
查看>>
Ubuntu查看端口占用情况
查看>>
『科学计算』最小二乘法
查看>>
Bootstrap缩略图
查看>>
Android之实现ViewPager+Fragment左右滑动
查看>>
android开发艺术探索学习 之 结合Activity的生命周期了解Activity的LaunchMode
查看>>
第三百一十节,Django框架,模板语言
查看>>
关于游戏行业目前的形势
查看>>
Struts2+Spring+Hibernate+Jbpm技术实现Oa(Office Automation)办公系统第一天框架搭建
查看>>
POJ 1655 Balancing Act(树的重心)
查看>>
Loadrunner IP欺骗
查看>>
大型站点架构体系的演变(上)
查看>>
Linux-中断的本质
查看>>
springboot跨域请求设置
查看>>
Ajax介紹
查看>>