ajax数据交互

明天要去新公司报道,心里好忐忑,不知道新公司的生活会如何,不知道自己能不能胜任新工作,抓紧今天的半天时间,认真整理一下自己写过的代码,和大家分享

使用ajax动态生成表格,和通过ajax传递参数,跳转至详情页展示详细信息

index.html页面

首先页面引入jquery-1.8.3.min.js,

页面代码:

      <body>
        <div>
            <table>
                <thead>
                    <tr>
                        <th>编号</th>
                        <th>姓名</th>
                        <th>班级</th>
                        <th>科目</th>
                        <th>成绩</th>
                    </tr>
                </thead>
                <tbody>
                    
                </tbody>
            </table>
            
        </div>
    </body>

页面样式:

      <style>
            div{
                width:600px;
                margin:100px auto 0;
            }
            tr th {
                width:150px;
                height:50px;
                background: gray;
                text-align: center;
            }
            tr td {
                width:150px;
                height:50px;
                background: #D3D3D3;
                text-align: center;
            }
        </style>

json数据:列表页面数据   list.json 存在data文件夹下

{
  "grades" :{
              "stu0" :["0","haha","1","语文","30"],
              "stu1" :["1","zhangsan","1","语文","80"],
              "stu2" :["2","lisi","2","语文","30"],
              "stu3" :["3","wangwu","2","语文","20"],
              "stu4" :["4","zhaoliu","2","语文","50"],
              "stu5" :["5","tianqi","2","语文","50"]
           }

}

 ajax代码:

      $(function(){

        $.get(

          data/list.json,//请求数据的地址

          function(data){//data为请求成功后返回的数据

            var html = "";

            for(var key in data.grades){//要列出对象的所有属性,由于不知道返回的对象有多少个属性,所以使用for in 循环用key来接收对象的每一个属性stu0---stu5

               var val = data.grades[key];//拿出每一个属性对应的值,注:只能使用[]不能使用  .  val是一个保存了每一个属性值(数组)

                html += ‘<tr><td class="btn">‘ + val[0] + ‘</td><td>‘
                            
                                           + val[1] + ‘</td><td>‘
                                           + val[2] + ‘</td><td>‘
                                           + val[3] + ‘</td><td>‘
                                           + val[4] + ‘</td></tr>‘;

            }

              $(‘tbody‘).append(html); //因为ajax是异步执行的,所以将对dom的处理要放在回调函数的最后一行,不能写在ajax外面

            //点击编号(传递学生编号)跳转到详情页面(根据学生编号显示数据);因为表格是动态生成的,所以必须使用事件委托来实现点击事件

            $("tbody tr").on("click", ‘.btn‘, function(){

              window.location.href = ‘detail.html?id=‘ + this.textContent;//刚开始不知道怎么取点击的td对应的文本,使用了 console.dir(this);将this对象包括的所有属性打出来

            });
          } ,"json" );

    })           

详情页面的json数据:保存在data文件夹下的detail.json文件中

 {
    "grades" : {
        "0": ["haha","1","30", "40"],
        "1": ["zhangsan","1","80", "40"],
        "2" :["lisi","2","30","90"],
        "3": ["wangwu","2","20", "10"],
        "4": ["zhaoliu","2","50", "50"],
        "5": ["tianqi","2","50","40"]
    }
}

详情页面:detail.html

    <body>
        <div>
            <label>编号</label><span></span>
            <label>姓名</label><span></span>
            <label>班级</label><span></span>
            <label>语文</label><span></span>
            <label>数学</label><span></span>
        </div>
    </body>

样式:

  <style>
            div{
                width:600px;
                margin:100px auto 0;
                border: 1px solid #D3D3D3;
            }
            label,span{text-align: left;height: 50px;display: inline-block;}
            label{width: 300px; border-right: 1px solid #D3D3D3;}
        </style>

js代码:

    $(function(){

      //获取传递过来的参数,即:获取?后面的字符串,使用split 传入 ?对window.location.href进行分割成数组,获取数组的第二项

       var params = window.location.href.split("?")[1];//传来的数据如果是两个以上的话,传数据时用&进行拼接的,所以再分割一次用&符号

       var dataList = params.split("&");//dataList为传来的所有数据等号连接的键值对字符串

       for(var i = 0; i<dataList.length; i++){

          var param= dataList[i].split("=")[0];

          var value = dataList[i].split("=")[1];

          if(param== "id"){

            $.get(

               "data/detail.json",

                function(data){

                   for(var key in data.grades ){

                      if(key == value){

                        var sp = $("span");

                        sp.eq(0).html(key);

                        for(var i = 0; i < sp.length; i++){

                          sp.eq(i).html(data.grades[key][i-1]);

                        }

                      }

                    }

                },json);

          }

        }

})

    

时间: 2024-08-26 11:34:34

ajax数据交互的相关文章

ajax数据交互--GET

GET方法实现从服务器获取数据 HTML代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-

jSon和Ajax登录功能,ajax数据交互案例

ajax实例,检测用户与注册 检测用户名是否被占用: 在用户填写完用户名之后,ajax会异步向服务器发送请求,判断用户名是否存在 首先写好静态页面: index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>index</title> <style> *{ margin:0; pa

AJAX+REA实现前后台数据交互的加密解密

AJAX+REA实现前后台数据交互的加密解密 1.创建js文件Encryption.js /**  * 加密解密  */ /** RSA加密用 生成key */ function bodyRSA(){ /** 1024位的key参数写130,2014位的key参数写260 */ setMaxDigits(130); /** ajax 调用后台方法,取回公钥 */ var keyR ;     $.ajax({      url: "/GHGL/Key/pk",//请求后台的url,本例

ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据的传递

前言 最近公司项目进行架构调整,由原来的三层架构改进升级到微服务架构(准确的说是服务化,还没完全做到微的程度,颗粒度没那么细),遵循RESTFull规范,使前后端完全分离,实现大前端思想.由于是初次尝试,中途也遇到了不少问题.今天就来讨论一下其中之一的问题,WebAPI与前端Ajax 进行跨域数据交互时,由于都在不同的二级域名下(一级域名相同),导致Cookies数据无法获取. 最开始通过头部(Header)将Cookies传输到其WebAPI,也能解决问题. 下面讲述另外一种解决方案. 解决过

使用Jquery.AJAX方法和PHP后台数据交互小结

使用jQuery的AJAX方法和后台PHP进行数据交互,交互采用的数据格式JSON格式. 我主要小小的总结了一下,我使用AJAX方法时候遇到一些小小的问题. 第一:在传递数据的时候,传输地址注意是否正确. 第二:在传输数据时,传输的数据格式是否正确. 第三:我遇到过 200 但是执行的是AJAX方法的错误方法,我总结了一下,一般都是PHP的数据格式不正确,所以,当遇到200 error时候,应该认真,仔细的检查PHP传输的数据格式是否争取,由于JSON的特性,所以,使用JSON的时候对数据格式规

ASP.Net中关于WebAPI与Ajax进行跨域数据交互时Cookies数据的传递

本文主要介绍了ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据传递的相关知识.具有很好的参考价值.下面跟着小编一起来看下吧 前言 最近公司项目进行架构调整,由原来的三层架构改进升级到微服务架构(准确的说是服务化,还没完全做到微的程度,颗粒度没那么细),遵循RESTFull规范,使前后端完全分离,实现大前端思想.由于是初次尝试,中途也遇到了不少问题.今天就来讨论一下其中之一的问题,WebAPI与前端Ajax 进行跨域数据交互时,由于都在不同的二级域名下(一级域名相同),导

关于AJAX+HTML5+ASHX进行全静态页面的数据交互

及时总结项目中使用到的知识,知识在于积累. 1.HTML代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <

jQuery Ajax 前端和后端数据交互的问题

原理:前端与后端的数据交互,最常用的就是GET.POST,比较常用的用法是:提交表单数据到后端,后端返回json 前端的数据发送与接收1)提交表单数据2)提交JSON数据 后端的数据接收与响应1)接收GET请求数据2)接收POST请求数据3)响应请求 1.提交表单数据 1)GET请求 1 var data = { 2 "name": "test", 3 "age": 1 4 }; 5 $.ajax({ 6 type: 'GET', 7 url:

用PHP和Ajax进行前后台数据交互——以用户登录为例

很多网站中都有用户登录系统,要完成用户的注册和登陆,就一定要用到前后台的数据交互.在这里以简单的用户注册和登陆为例介绍一下前后台交互的大致流程. 首先,我们来做一个简单的登陆界面. 这里为了方便我使用了bootstrap插件 <form class="form-horizontal"> <div class="form-group"> <label>用户名</label> <input type="te