zoukankan      html  css  js  c++  java
  • 利用XMLHttpRequest(XHR)对象实现与web服务器通信

    XMLHttpRequest对象:XMLHttpRequest是一个JS对象,页面利用它与web服务器通信。XHR对象的基本思想是让JS代码自己发送请求,以便随时获取数据,这种请求是异步的,也就是说请求期间网页任然能响应用户的操作。

    XHR对象与web服务器通信的流程:

    1、在服务器端创建一个PHP脚本

    //服务器端脚本,用于处理发送过去的数据,然后返回结果。index.php
    //客户端发送的URL应该是:http://www.yuming.com/index.php? no1=20&no2=40
    <?php
        $num1 = $_GET['no1'];
        $num2 = $_GET['no2'];
        $sum = $num1 + $num2;
        echo $sum; //返回给客户端的内容
    ?>

    2、在客户端JS代码中创建XHR对象请求服务器(该方法不支持IE6)

    //创建一个XMLHttpRequest对象
    var req = new XMLHttpRequest();
    
    //调用XHR对象的open()方法,这个方法有三个参数。1、HTTP操作类型(GET或POST)。2、请求目标的url。3、浏览器是否异步工作(true是异步,false是同步)
    req.open("GET", "index.php?no1=20&no2=40", true)
    
    //只要服务器返回信息,就会触发这个事件(其实就是回调函数),其中包括返回的响应数据
    req.onreadystatechange = function (){
    
        //在接收到返回信息时,需要首先检查XHR对象的两个属性
        //一个是readyState属性,它的值是从0-4的一个数值
        //0是指请求未初始化
        //1是请求初始化完毕
        //2是请求已经发送
        //3是请求在处理中;通常已有部分数据可用了,但是服务器还没有完成响应的生成
        //4是请求响应完成
        //另外一个是status属性,用于保存HTTP状态码,当它的值为200时,表示一切顺利
        if ( (req.readyState == 4) && (req.status == 200) ){
    
            //从XHR对象的response属性中取得返回的数据
            var result = req.responseText;
    
        }
    
    }
    
    //调用XHR对象的send()方法实际的发送请求到服务器
    //参数是可选的,可以是一个DOM对象的实例、一个输入流,或者是一个串。传入这个对象的内容会作为请求体的一部分发送。
    req.send(null);
  • 相关阅读:
    ZipOutputStream出现多层目录问题
    javascript操作cookie的函数
    debian下install mysql
    Tecent Iphone Qzone Clint Login.js(相当规范)
    在Debian中网卡的设置
    JQuery版MD5摘要算法
    Aspose.Word
    SQL SERVER实用技巧
    XP ROLES
    Velocity用户手册中文版
  • 原文地址:https://www.cnblogs.com/zhuifeng/p/3771385.html
Copyright © 2011-2022 走看看