• Ajax的用法


    Ajax本质是一个浏览器端的技术,主要目的用户客户端和服务器端之间的数据交换。主角是XMLHttpRequest。

    一般分为四个步骤:1创建对象;2创建请求;3注册时间;4发送请求。

    1.创建XMLHttpRequest对象;

    XMLHttpRequest
            //创建XMLHttpRequest 对象
            function createXHR() {
                var request;
                if (XMLHttpRequest) {
                    request = new XMLHttpRequest(); //Chrome firefox
                } else {
                    request = new ActiveXObject("Microsoft.XMLHTTP");
                }
                return request;
            }

    2.创建请求;

    创建请求
    1 window.onload = function () {
    2             document.getElementById("btnLogin").onclick = function () {
    3 
    4                 var inputName = document.getElementById("txtName");//得到用户名
    5                 var inputPwd = document.getElementById("txtPwd");//得到用户的密码
    6                     var xhr = createXHR();                    //1创建异步对象
    7                     xhr.open("post", "AjaxLogin.aspx", true); //2设置请求参数
    8                     xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //添加请求头

    3.设置回调函数

    设置回调函数
                        xhr.onreadystatechange = function () {    //3设置回调函数
                            if (xhr.readyState == 4) {
                                if (xhr.status == 200) {//如果服务器发回的状态码为200,则代表服务器正常
                                    var res = xhr.responseText; //获取服务器发回的文本
                                    if (res == "OK") {
                                        window.location = "index.aspx";
                                    } else if (res == "error") {
                                        showMsg("用户名和密码错误");
                                    } 
                                }
                            }

    4.发送请求

    发送请求
      xhr.send("userName=" + inputName.value + "&userPwd=" + inputPwd.value);

    一般Ajax是以json的形式进行数据的发送的。json一般分为一下两种的方式存在。

    在json中有两种存数据的形式:对象和数组。
    1对象:  var o={"lw":"ad","dsd","asdgf"};
    2数组:var json=[{"asdf":"234","adsf":23434},{"asdf":"234","adsf":23434},{"asdf":"234","adsf":23434}]

    全部的代码如下:

    <script type="text/javascript">
            window.onload = function () {
                document.getElementById("btnLogin").onclick = function () {
    
                    var inputName = document.getElementById("txtName"); //获得文本框里边的值
                    var inputPwd = document.getElementById("txtPwd");
    
    
                    function createXHR() {                                 //创建XMLHttpRequest 对象
                        var request;
                        if (XMLHttpRequest) {
                            request = new XMLHttpRequest(); //Chrome firefox
                        } else {
                            request = new ActiveXObject("Microsoft.XMLHTTP"); //IE浏览器
                        }
                        return request;
                    }
    
                    var xhr = createXHR();                    //1创建异步对象
                    xhr.open("post", "AjaxLogin.aspx", true); //2设置请求参数
                    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //添加请求头
                    xhr.onreadystatechange = function () {    //3设置回调函数
                        if (xhr.readyState == 4) {
                            if (xhr.status == 200) {          //如果服务器发回的状态码为200,则代表服务器正常
                                var res = xhr.responseText;   //获取服务器发回的文本
                                if (res == "OK") {
                                    window.location = "index.aspx";
                                } else if (res == "error") {
                                    showMsg("用户名和密码错误");
                                }
                            }
                        }
                        xhr.send("userName=" + inputName.value + "&userPwd=" + inputPwd.value); //发送请求
                    }
                }
            }     
        </script>
  • 相关阅读:
    C++ 单例模式
    单链表快速排序
    美团后台面经
    排序算法及其优化总结
    (转)再谈互斥量与环境变量
    互斥锁和自旋锁
    算法题总结----数组(二分查找)
    Linux里的2>&1的理解
    Ubuntu下开启mysql远程访问
    说说eclipse调优,缩短启动时间
  • 原文地址:https://www.cnblogs.com/shinelhui/p/2951665.html
Copyright © 2020-2023  润新知