zoukankan      html  css  js  c++  java
  • AJAX介绍

    官网地址:http://www.w3.org/TR/XMLHttpRequest/

    1、AJAX是什么?

    AJAX = Asynchronous JavaScript and XML(异步的JavaScript和XML);

    AJAX不是一种新的编程语言,而是一种使用现有标准的新方法;

    AJAX是与服务器交换数据并更新部分页面的艺术,在不重新加载整个页面的情况下。

    AJAX是一种在无须重新加载整个页面的情况下,能够更新部分页面的技术。

    AJAX是一种用于创建快速动态网页的技术。


    传统的网页(不使用AJAX)如果需要更新内容,必须重载整个页面。

    通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个页面的情况下,对页面的某部分进行更新。

    Google Suggest

    在 2005 年,Google 通过其 Google Suggest 使 AJAX 变得流行起来。

    Google Suggest 使用 AJAX 创造出动态性极强的 web 界面:当您在谷歌的搜索框输入关键字时,JavaScript 会把这些字符发送到服务器,然后服务器会返回一个搜索建议的列表。

    2、从一段源代码开始

    Html代码:

    <div id="resText"><h2>这是结果显示地</h2></div>
    
    <button type="button" onclick="loadByGet();">LoadByGet</button>
    <button type="button" onclick="loadByPost();">LoadByPost</button>
    <button type="button" onclick="loadSync();">LoadSync</button>

    Js代码:

    //创建一个XMLHttpRequest对象
    function getXmlHttpRequest() {
        var xmlHttpRequest = null;
        //IE5 IE6是以ActiveXObject的方式引入XMLHttpRequest对象的
        if (window.ActiveXObject) {
            xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
        //除IE5 IE6以外的浏览器XMLHttpRequest是Window的子对象
        } else if (window.XMLHttpRequest) { 
            xmlHttpRequest = new XMLHttpRequest();//实例化一个XMLHttpRequest
        }
        return xmlHttpRequest;
    }
            
    function loadByGet() {
        var xmlHttpRequest = getXmlHttpRequest();
        //使用get方式,同步获取数据
         xmlHttpRequest.open("GET", "/Service/XmlHttpRequest.ashx?method=Get", false);
        xmlHttpRequest.send();
    
        document.getElementById("resText").innerHTML = xmlHttpRequest.responseText;
    }
    function loadByPost() {
        var request = getXmlHttpRequest();
        //使用post方式,同步获取数据
         request.open("POST", "/Service/XmlHttpRequest.ashx", false);
        request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        request.send("method=Post");
    
        document.getElementById("resText").innerHTML = request.responseText;
    }
    
    //异步获取数据
    function loadSync() {
        var xmlHttp = getXmlHttpRequest();
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                document.getElementById("resText").innerHTML = xmlHttp.responseText;
            }
        };
        xmlHttp.open("GET", "/Service/XmlHttpRequest.ashx?method=Get", true);
        xmlHttp.send();
    }
  • 相关阅读:
    OSX 10.8+下开启Web 共享 的方法
    OSX 10.8+下开启Web 共享 的方法
    OSX 10.8+下开启Web 共享 的方法
    ★如何解释特修斯之船问题?
    ★如何解释特修斯之船问题?
    ★如何解释特修斯之船问题?
    JS中event.keyCode用法及keyCode对照表
    JS中event.keyCode用法及keyCode对照表
    JS中event.keyCode用法及keyCode对照表
    用webgl打造自己的3D迷宫游戏
  • 原文地址:https://www.cnblogs.com/wych/p/3160568.html
Copyright © 2011-2022 走看看