• template.js 模板引擎


    例子:

    html代码:

    <div id="box"></div>

    css代码:

    table{
        border-collapse: collapse;
        text-align: center;
        line-height: 2;
    }
    td{
        border: 1px solid #000;
    }

    json数据:

    [
      {
        "name":"张三",
        "age":"23",
        "sex":"男"
      },
      {
        "name":"李四",
        "age":"26",
        "sex":"男"
      },
      {
        "name":"王五",
        "age":"18",
        "sex":"女"
      }
    ]

    1、使用原生ajax方法

    <script>
            function getXMLHttp(){
                var xhr=null;
                if(window.XMLHttpRequest){
                    xhr=new XMLHttpRequest();  //chrome ff
                }else{
                    xhr=new ActiveXObject("Microsoft.XMLHttp");  //ie
                }
                return xhr;
            }
            window.onload=function () {
                var xhr=getXMLHttp();
                xhr.onreadystatechange=function(){
                    if(xhr.readyState==4 && xhr.status==200){
                        var data=JSON.parse(xhr.responseText);
                        var str="<table width='300'><tr><td>姓名</td><td>年龄</td><td>性别</td></tr>";
                        for(var i=0;i<data.length;i++){
                            str+="<tr>";
                            for(var key in data[i]){
                                str+="<td>"+data[i][key]+"</td>";
                            }
                            str+="</tr>"
                        }
                        document.getElementById("box").innerHTML=str;
                    }
                }
                xhr.open("GET","userInfo.json");
                xhr.send();
            }
        </script>

    2、使用jquery $.ajax方法:

    <script>
            $.ajax({
                url:"userInfo.json",
                dataType:"json",
                success:function(data){
                    var table=$("<table width='300'><tr><td>姓名</td><td>年龄</td><td>性别</td></tr>");
                    $(data).each(function(index,element){
                        var tr=$("<tr></tr>");
                        $.each(element,function (i,e) {
                            tr.append($("<td>"+e+"</td>"));
                        })
                        table.append(tr);
                    })
                    $("#box").html(table);
                }
            })
        </script>

    3、引入模板并用ajax方法使用:

    <script src="jquery.min.js"></script>
    <script src="template-native.js"></script>
    <script type="text/template" id="t">
    <table width="300">
    <tr><td>姓名</td><td>年龄</td><td>性别</td></tr>
    <%for(var i=0;i<userInfo.length;i++){%>
    <tr>
    <td><%=userInfo[i].name%></td>
    <td><%=userInfo[i].age%></td>
    <td><%=userInfo[i].sex%></td>
    </tr>
    <%}%>
    </table>
    </script>
    <script>
    $.ajax({
    url:"userInfo.json",
    dataType:"json",
    success:function(data){
    var userObj={
    userInfo:data
    }
    var str=template("t",userObj);
    $("#box").append(str);

    }
    })
    </script>

    浏览器效果:

  • 相关阅读:
    PHP 使用命名空间(namespace),实现自动加载
    快捷方式不能使用的解决方法
    Python学习案例
    Linux下Tomcat的安装和部署
    关于Linux下的环境变量
    关于Linux下安装Oracle
    Linux下安装MySQLdb模块(Python)
    交换机VLAN的定义、意义以及划分方式
    让java程序在后台一直执行(例如putty关闭后后台程序继续运行)
    基于FTP服务器搭建yum源
  • 原文地址:https://www.cnblogs.com/xlj-code/p/7905178.html
Copyright © 2020-2023  润新知