zoukankan      html  css  js  c++  java
  • 纯粹http请求,发挥类似ajax的效果

    post请求: 

          

     var postData = {
        "username": "13321503898",
        "password": "a123456",
        "imsi":"123455677"
        };
         
         
        var xhr = new XMLHttpRequest();
         
        xhr.open("POST", "http://139.199.156.43:9999/LK/login/loginByUsername", true);
        xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        xhr.onreadystatechange = function(){
            
            var XMLHttpReq = xhr;
            /**
                XMLHttpReq.readyState
             0: 请求未初始化
             1: 服务器连接已建立
             2: 请求已接收
             3: 请求处理中
             4: 请求已完成,且响应已就绪
            **/
            if (XMLHttpReq.readyState == 4) {
                if (XMLHttpReq.status == 200) {                
                    var data = XMLHttpReq.responseText;
                    alert(data)
                    console.log(data);
                    var json = JSON.parse(JSON.parse(data));
                }else if(XMLHttpReq.status == 100){
                
                }else if(XMLHttpReq.status == 300){
                
                }else if(XMLHttpReq.status == 400){
                
                }else if(XMLHttpReq.status == 500){
                
                }else if(XMLHttpReq.status == 0){
                    /** 0不是http协议的状态,关于XMLHttpReq.status的说明:
                    1、If the state is UNSENT or OPENED, return 0.(如果状态是UNSENT或者OPENED,返回0)
                    2、If the error flag is set, return 0.(如果错误标签被设置,返回0)
                    3、Return the HTTP status code.(返回HTTP状态码)
                    第一种情况,例如:url请求的是本地文件,状态会是0
                    第二种情况经常出现在跨域请求中,比如url不是本身网站IP或域名,例如请求www.baidu.com时
                    第三种,正常请求本站http协议信息时,正常返回http协议状态值
                    **/
                }
                
            }
        };
        xhr.send(JSON.stringify(postData));


    如果是get请求,将请求方式换成 get,send()方法中的data不需转换成字符串,用法和ajax类似,ajax将http请求重新封装了
  • 相关阅读:
    PHP strcmp,strnatcmp,strncmp函数的区别
    PHP echo,print_r(expression),var_dump(expression)区别
    PHP包含文件语句include和require的区别
    PHP魔术变量__METHOD__,__FUNCTION__的区别
    解决margin重叠的问题
    冒牌、选择、插入排序算法
    == 和 === 的区别
    Javascript常见浏览器兼容问题
    浏览器常见兼容性问题汇总
    JS中replace()用法举例
  • 原文地址:https://www.cnblogs.com/chenlongsheng/p/11250862.html
Copyright © 2011-2022 走看看