码迷,mamicode.com
首页 > Web开发 > 详细

原生ajax使用(1)

时间:2018-03-07 15:16:37      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:var   响应   div   gpo   enc   对象   null   参数   get   

<body>
    <form method="post" action="login">
        用户名:<input id="user" type="text" name="username">
        密码:<input id="pwd" type="password" name="password">
        <input type="checkbox" id="auto" name="auto" value="1"/>七天免登录
        <input type="button" onclick="SubmitForm();" value="登录">
        <span class="err"></span>
    </form>
</body>
</html>
<script>
    var xhr=null;

    function SubmitForm(){
        var username=document.getElementById("user").value;
        var pwd=document.getElementById(pwd).value;
        var chkEle=document.getElementById(auto);
        var chk=null;
        if(chkEle.checked==true)
            chk=1;
        else
            chk=0;

        xhr=new XMLHttpRequest();
        /*参数    发送方式  发送地址 是否异步*/
        //xhr.open(‘GET‘,"/login",true);
        xhr.open("POST","/login",true);
        //当readystate值改变时会自动去触发对应函数,先对这个值进行判断,在决定对应的函数
        //0.未初始化,尚未调用open
        //1.启动,调用了open未调用send
        //2.发送,调用了send,未收到响应
        //3.接收,已经接收到了部分响应消息
        //4.完成,已经接收到所有的数据

        xhr.onreadystatechange =func;
        //setRequestHeader(String header,String value)设置请求头
        //getAllResponseHeaders()获取所有响应头
        //getResponseHeader(String header)获取响应头中指定的header的值
        //void abort()终止请求

        //post发送数据需要设置请求头
        xhr.setRequestHeader(content-type,application/x-www-form-urlencoded)
        //用于发送数据
        xhr.send(username=+username+;password=+pwd+;auto=+chk);

        //String responseText   服务器返回的数据字符串类型

        //XmlDocument responseXML 服务器返回的数据(xml对象)

        //Number states 状态码

        //String statesText 状态码对应文本
    }

    function func(){
        if(xhr.readyState == 4){
            console.log(xhr.responseText);
            var data=xhr.responseText;
            var ret_dict = JSON.parse(data);
            if(ret_dict.status){
                //登录成功
            }else{
                //登录失败
                var ele=document.getElementsByClassName(err)[0];
                ele.innerHTML="<h1 style=\"color:red;\">"+ret_dict.message+"</h1>"
            }
        }
    }
</script>

 

原生ajax使用(1)

标签:var   响应   div   gpo   enc   对象   null   参数   get   

原文地址:https://www.cnblogs.com/ssyfj/p/8521766.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!