首页 > 代码库 > ajax获取数据后怎么去渲染到页面?

ajax获取数据后怎么去渲染到页面?

     关于,这个问题呢!一直没有在网上找到一个合适答案(可能这问题比较傻,嘿嘿)。今天把自己常用几种方式说下:

     第一种:

     比较常见的就是直接把字符串拼接,然后插入到元素中。

     

var html=‘<li>‘ + data.num + ‘</li><li>‘ + data.floor + ‘</li><li>‘ + data.name + ‘</li><li>‘ + data.money + ‘</li>‘;elem.innerHTML=html;

     第二种:

     与第一种大致,先创建对象,然后添加到外层对象中

var node=document.createElement("LI");
var textnode=document.createTextNode("Water");
node.appendChild(textnode);
document.getElementById(
"myList").appendChild(node);

    第三种:

    可以用网上mvvm框架,数据绑定比如:angular ,vue等 这里不举例子了 哈哈

  

    第四种:

    模板的比如 (template.js)

 

    我自己写个小例子,不要喷我啊

    

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>    </head>    <body>        <div id="con"></div>        <script>            var viewCommand = function() {                var tpl = {                    product: ["<div>",                        "<img src=http://www.mamicode.com/{#srcs#} />",                        "<p>{#text#}</p>",                        "</div>"                    ].join(""),                    title: [                        "<div class=‘title‘>",                        "<div class=‘main‘>",                        ‘<h2>{#title#}</h2>‘,                        ‘<p>{#tips#}</p>‘,                        "</div>",                        "</div>",                    ].join("")                };                var html = "";                var formateString = function(str, obj) {                    return str.replace(/{\#(\w+)#\}/g, function(match, key) {                        console.log(match + obj[key])                        return obj[key];                    })                };                var Action = {                    create: function(data, view) {                        if(data.length) {                            for(var i = 0; i < data.length; i++) {                                html += formateString(tpl[view], data[i])                            }                        } else {                            html += formateString(tpl[view], data);                        }                    },                    display: function(conta, data, view) {                        if(data) {                            this.create(data, view)                        }                        document.getElementById(conta).innerHTML = html;                        html = "";                    }                };                return function excute(msg) {                    msg.param = toString.call(msg.param) == "[object Array]" ? msg.param : [msg.param];                    Action[msg.command].apply(Action, msg.param);                }            }();            var tit = {                tips: "飒飒飒飒是",                title: "安县阿萨斯",            }            var product = [{                "srcs": "../images/qq.png",                "text": "qqqq"            }, {                "srcs": "../images/weixin.png",                "text": "qq"            }]            viewCommand({                command: "create",                param: [ tit, "title"]            })            viewCommand({                command: "create",                param: [ product, "product"]            })            viewCommand({                command: "display",                param: ["con"]            })        </script>    </body></html>

 

    我了解大致就这些,大家可以说说自己的,同时欢迎提问题 

ajax获取数据后怎么去渲染到页面?