当前位置: 首页 > news >正文

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

}

相关文章:

  • Android开发之数据存储——SharedPreferences基础知识详解,饿补学会基本知识,开发者必会它的用法。...
  • xml的SAX解析过程详解
  • xml文件操作(利用dom4j)
  • aspx页面导出为word
  • mysql优化之索引优化
  • 使用SAX解析XML
  • AJAX实现类Google Suggest效果
  • Android:百度地图 + 百度导航
  • 文章太长了!~关于 XML 的一些基础知识
  • iOS: FFmpeg的使用一
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • HD1285(拓扑排序)
  • 如何用javascript设置延时执行
  • 设计模式--3.模板方法模式
  • 实现JSP数据和JavaScript数据交互使用
  • 【Amaple教程】5. 插件
  • Angular数据绑定机制
  • css布局,左右固定中间自适应实现
  • Java方法详解
  • underscore源码剖析之整体架构
  • Webpack 4 学习01(基础配置)
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 那些年我们用过的显示性能指标
  • 全栈开发——Linux
  • 提醒我喝水chrome插件开发指南
  • 详解NodeJs流之一
  • 用简单代码看卷积组块发展
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (七)Knockout 创建自定义绑定
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • .Net 6.0 处理跨域的方式
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .NET微信公众号开发-2.0创建自定义菜单
  • .Net下的签名与混淆
  • @GetMapping和@RequestMapping的区别
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解
  • [C#][opencvsharp]opencvsharp sift和surf特征点匹配
  • [C#]winform部署yolov9的onnx模型
  • [c]扫雷
  • [C++] 统计程序耗时
  • [C++]二叉搜索树
  • [CentOs7]iptables防火墙安装与设置
  • [CISCN2019 华北赛区 Day1 Web5]CyberPunk --不会编程的崽
  • [COGS 622] [NOIP2011] 玛雅游戏 模拟
  • [C语言]——函数递归