zoukankan      html  css  js  c++  java
  • js 异步请求封装

    1.

    function ajax(url, onsuccess)
    {
        var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); //创建XMLHTTP对象,考虑兼容性。XHR
        xmlhttp.open("POST", url, true); //“准备”向服务器的GetDate1.ashx发出Post请求(GET可能会有缓存问题)。这里还没有发出请求
    
        //DRY:不要复制粘贴代码
        //AJAX是异步的,并不是等到服务器端返回才继续执行
        xmlhttp.onreadystatechange = function ()
        {
            if (xmlhttp.readyState == 4) //readyState == 4 表示服务器返回完成数据了。之前可能会经历2(请求已发送,正在处理中)、3(响应中已有部分数据可用了,但是服务器还没有完成响应的生成)
            {
                if (xmlhttp.status == 200) //如果Http状态码为200则是成功
                {
                    onsuccess(xmlhttp.responseText);
                }
                else
                {
                    alert("AJAX服务器返回错误!");
                }
            }
        }
        //不要以为if (xmlhttp.readyState == 4) {在send之前执行!!!!
        xmlhttp.send(); //这时才开始发送请求。并不等于服务器端返回。请求发出去了,我不等!去监听onreadystatechange吧!
    }
  • 相关阅读:
    CodeForces
    EOJ 3506. 斐波那契数列
    牛客练习赛13 D幸运数字Ⅳ . 康托逆展开
    UVA
    Piggy-Bank HDU
    Dollar Dayz POJ
    UVA 674 Coin Change (完全背包)
    python OOP (1)
    python lambda简易使用
    python whl模块安装方法
  • 原文地址:https://www.cnblogs.com/ChineseMoonGod/p/4728380.html
Copyright © 2011-2022 走看看