• Ajax的用法之XMLHttpRequest


    一、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效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>xmlhttprequest ajax demo</title>
    
        <script type="text/javascript" language="javascript">
            var req; // 定义变量,用来创建xmlhttprequest对象
            function createReq() {
                var url = "ajax.aspx"; //要请求的服务端地址
                if (window.XMLHttpRequest) {
                    req = new XMLHttpRequest();
                }
                else if (window.ActiveXObject) {
                req = new ActiveXObject("Microsoft.XMLHttp"); //IE(6.0及以下版本)浏览器用activexobject对象创建,
                                                              //如果用户浏览器禁用了ActiveX,可能会失败              
                }
                if (req)//对象创建成功
                {
                    req.open("GET", url, true); //与服务端建立连接(请求方式post或get,地址,true表示异步)
                    req.onreadystatechange = callback; //指定回调函数
                    req.send(url); //发送请求
    
                }
            }
            function callback() {
                if (req.readyState == 4) {
                    if (req.status == 200) {
                        Display();
                    }
                    else {
                        alert("服务端返回状态" + req.statusText)
                    }
                }
                else {
                    document.getElementById("myTime").innerHTML = "数据加载中";
                }
            }
    
            function Display() {
                document.getElementById("myTime").innerHTML = req.responseText;
            }
            
        </script>
    
    </head>
    <body>
        <form id="form1" runat="server" action="" method="post">
        <div>
            <div id="myTime">
            </div>
            <input type="button" value="Get Time" onclick="createReq();" />
        </div>
        </form>
    </body>
    </html>

    ajax.aspx.cs代码:

    public partial class ajax : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                System.Threading.Thread.Sleep(1000); //为了看到ajax效果,将当前线程延时1000毫秒
                Response.Write(DateTime.Now.ToString()); //输出当前时间
                Response.End();
            }
        }
  • 相关阅读:
    使用docker部署zabbix
    进入容器脚本
    Docker安装
    docker命令总结
    zbb20180827 Spring中ClassPathXmlApplicationContext类的简单使用,main方法加载application.xml文件
    zbb20180824 spring ioc aop 例子
    tomcat运行报错Failed to start component [StandardEngine[Catalina].StandardHost[localhost].
    zbb20180815 网盘搜索引擎
    Java字节码指令收集大全
    zbb20180716 SpringBoot 使用feign时报错Service id not legal hostname
  • 原文地址:https://www.cnblogs.com/Loyalty/p/2500809.html
Copyright © 2020-2023  润新知