zoukankan      html  css  js  c++  java
  • XMLHttpRequest

    用XMLHttpRequest对象,发请求的基本代码如下:

    var xmlhttp=new XMLHttpRequest();
                    var url="http://localhost:3004/test";
                    xmlhttp.open("get",url,true);
                    xmlhttp.onreadystatechange=function(){
                        if(xmlhttp.readystatus==4){
                            if(xmlhttp.status==200){
                                
                            }
                        }
                    };
                    xmlhttp.send(null);

    其中,onreadystatechange事件回调的readystatus与status的区别,需要区分下。

    readystatus(是XMLHttpRequest对象发请求后的客户端服务端的一些信息记录?)具体如下所示:

    0 - (未初始化)还没有调用send()方法
    1 - (载入)已调用send()方法,正在发送请求
    2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
    3 - (交互)正在解析响应内容
    4 - (完成)响应内容解析完成,可以在客户端调用了

    而status则是http的状态码,如200,404,500之类的

    可参考:http://www.cnblogs.com/lxinxuan/archive/2009/10/22/1588053.html

    //W3C上的示例代码
    var xmlhttp;
                function loadXMLDoc(url) {
                    xmlhttp = null;
                    if (window.XMLHttpRequest) {// code for all new browsers
                        xmlhttp = new XMLHttpRequest();
                    } else if (window.ActiveXObject) {// code for IE5 and IE6
                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    if (xmlhttp != null) {
                        xmlhttp.onreadystatechange = state_Change;
                        xmlhttp.open("GET", url, true);
                        xmlhttp.send(null);
                    } else {
                        alert("Your browser does not support XMLHTTP.");
                    }
                }
    
                function state_Change() {
                    if (xmlhttp.readyState == 4) {// 4 = "loaded"
                        if (xmlhttp.status == 200) {// 200 = OK
                        } else {
                            alert("Problem retrieving XML data");
                        }
                    }
                }
    

      

    详细解释如下文章所示:

    readyState-->>http://hi.baidu.com/devilpn/item/bc6c2d2b69d516cbdcf69ad6

    status-->>http://www.cnblogs.com/JemBai/archive/2009/04/10/1432939.html

    w3c-->>http://www.w3school.com.cn/xml/xml_http.asp

     
  • 相关阅读:
    SRM 594 DIV 2
    python 算法
    virtualenv和virtualenvwrapper介绍、安装和使用
    Django自带的ORM如何执行group by(聚合查询)语句(求和、累积、平均)
    Django REST FrameWork中文教程4:验证和权限
    Django REST FrameWork中文教程3:基于类的视图
    Django REST FrameWork中文教程2:请求和响应
    Django REST framework 中文教程1:序列化
    MySQL基础-存储过程和函数
    MySQL基础-变量
  • 原文地址:https://www.cnblogs.com/simonbaker/p/3870686.html
Copyright © 2011-2022 走看看