js发送http请求

<html>
<meta charset="GBK">
<body>

<script type="text/javascript">
function 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));
}


</script>
<!--
变量string_a:<input type="text" value="" id="string_a"/><br><br>
变量string_b:<input type="text" value="" id="string_b"/><br><br>

变量list_a:<input type="text" value="" id="list_a"/><br><br>
变量list_b:<input type="text" value="" id="list_b"/><br><br>
 -->
<input type="button" value="触发请求" onclick="post()" style="200px;height:200px;font-size:30px"/><br><br>

</body>
</html>

PS:飞机写的。



原文地址:https://www.cnblogs.com/BH-RJ-WK/p/6821020.html