zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    解决Extjs分页工具条Ext.PagingToolbar无法换页问题 子曰
    使用“动软代码生成器”需要注意的问题 子曰
    格式化extjs DateField 的值 子曰
    构造extjs两级联动comBox 子曰
    SQLServer数据库设计表和字段(转) 子曰
    extjs 中取值的方式 子曰
    extjs中的控件无法正常显示 子曰
    extjs表单中的下拉框(comobobox)手动添加空选项 子曰
    C++基础学习笔记
    dhl:弹出div层,可关闭可移动
  • 原文地址:https://www.cnblogs.com/shinelhui/p/2951665.html
Copyright © 2011-2022 走看看