zoukankan      html  css  js  c++  java
  • 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>

    浏览器效果:

  • 相关阅读:
    Windows 中 SQLite3 使用(1) -- 配置
    vs中qt的QIcon图标图片加载不上的问题
    VS中QT资源文件qrc加载失败(Q_INIT_RESOURCE)qInitResources_出错
    c++前置声明的一点总结
    Windows 如何在cmd命令行中查看、修改、删除与添加环境变量
    在DLL对话框中截获鼠标按下的消息
    c++跨动态库DLL的内存分配与释放问题
    C++中placement new操作符(经典)
    起底多线程同步锁(iOS)
    AutoLayout框架Masonry使用心得
  • 原文地址:https://www.cnblogs.com/xlj-code/p/7905178.html
Copyright © 2011-2022 走看看