zoukankan      html  css  js  c++  java
  • 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:服务器返回的请求响应文本。










  • 相关阅读:
    将eclipse的编码设置成UTF-8
    git提交代码时报rejected
    Vue.js
    快速计算进制之间的转换
    android中canvas.drawText参数的介绍以及绘制一个文本居中的案例
    progressbar原始效果
    面试问题总结
    Android Material Design学习日志
    Android进阶之解决RecyclerView notifyItem闪屏问题
    Android TextView行间距解析
  • 原文地址:https://www.cnblogs.com/peng14/p/2652605.html
Copyright © 2011-2022 走看看