• Ajax(820)


    1.创建XMLHttpRequest对象

    所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。XMLHttpRequest 用于在后台与服务器交换数据。

    跨浏览器创建XMLHttpRequest对象

    function newXMLHttpRequest(){
        var request = false;
       if (window.XMLHttpRequest){
           request = new XMLHttpRequest();
       } else if (window.ActiveXObject){
           try{
               request = new ActiveXObject("Msxml2.XMLHTTP");
           }  catch (e1){
                try{
                     request = new ActiveXObject("Microsoft.XMLHTTP");
                }  catch (e2){
                    request = false;
                }
           }
       }
       return request;
    }
     

     XMLHttpRequest对象的属性:

    –readyState      返回当前请求的状态

    ReadyState取值

    描述

    0

    描述一种"未初始化"状态;此时,已经创建一个XMLHttpRequest对象,但是还没有初始化。

    1

    描述一种“初始化"状态;此时,代码已经调用了XMLHttpRequest open()方法并且XMLHttpRequest已经准备好把一个请求发送到服务器。

    2

    描述一种"发送"状态;此时,已经通过send()方法把一个请求发送到服务器端,但是还没有收到一个响应。

    3

    描述一种"正在接收"状态;此时,已经接收到HTTP响应头部信息,但是消息体部分还没有完全接收结束。

    4

    描述一种"已加载"状态;此时,响应已经被完全接收。

     
    –onreadystatechange  指定当readState属性改变时的事件处理句柄
    –status   返回当前请求的http状态码
    –statusText   返回当前请求的响应行状态
    –responseBody  将回应信息正文以unsigned byte数值形式返回
    –responseStream  以AdoStream对象的形式返回响应信息
    –responseText    将响应信息作为字符串返回
    –responseXML   将响应信息格式化为XmlDocument对象并返回
     
     XMLHttpRequest对象的六个方法:
     
    6个方法:
    –abort()  取消当前请求
    –open()  创建一个新的http请求,并制定此请求和方法、url以及验证信息
    –send()  发送请求到http服务器并接收回应
    –setRequestHeader()  单独指定请求的某个http头
    –getResponseHeader() 从响应信息中获取指定的http头
    –getAllResponseHeaders()  获取响应的所有http头
     

    2.AJAX - 向服务器发送请求

    如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:

    xmlhttp.open("GET","test1.txt",true); xmlhttp.send();
    open(method,url,async):

    method:请求的类型;GET 或 POST
    url:文件在服务器上的位置
    async:true(异步)或 false(同步)
    send(string)
    将请求发送到服务器。  string:仅用于 POST 请求

    3.GET 还是 POST?

    与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

    然而,在以下情况中,请使用 POST 请求:

    • 无法使用缓存文件(更新服务器上的文件或数据库)
    • 向服务器发送大量数据(POST 没有数据量限制)
    • 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

    4.AJAX - 服务器响应
    如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。

    responseText 属性返回字符串形式的响应,因此您可以这样使用:

    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;


    5. XMLHttpRequest对象的方法和属性


    ·open():建立到服务器的新请求。
    ·send():向服务器发送请求。
    ·abort():退出当前请求。
    ·readyState:提供当前 HTML 的就绪状态。
    ·responseText:服务器返回的请求响应文本。










  • 相关阅读:
    正则表达式匹配整数和小数
    解决任务计划程序未启动任务,因为相同任务的实例正在运行的问题
    ActiveMQ 消息持久化到数据库(Mysql、SQL Server、Oracle、DB2等)
    C# CLR20R3 程序终止的几种解决方案
    彻底消除wine中文乱码,QQ,kugoo等等....
    Fedora如何添加第三方软件源?
    [转]Fedora 下安装NVIDIA显卡驱动(使用后无法进入图形界面)
    向fedora添加rpmfusion源
    [转]Java 8 Optional类深度解析(null处理)
    [转载]深入理解Java 8 Lambda
  • 原文地址:https://www.cnblogs.com/peng14/p/2652605.html
Copyright © 2020-2023  润新知