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={#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>

 

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

转载于:https://www.cnblogs.com/hsp-blog/p/5811478.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当使用AJAX从后台获取数据之后,我们需要将获取到的数据渲染到前端页面上,以便用户可以看到数据的呈现。 首先,在前端需要准备好一个预留数据呈现的区域,比如一个<div>标签或者<ul>/<ol>列表标签。也可以通过jQuery等前端框架提供的选择器,在DOM中动态创建元素来呈现数据。 其次,我们需要将从后台获取到的数据进行一定的格式转换,以便可以在前端页面上呈现。比如,从后台获取到的数据可能是JSON格式,需要通过JSON.parse()方法将其解析为JS对象后再进行操作。 然后,我们可以通过DOM操作的API,将解析后的数据渲染到前端页面上。比如,通过innerText、innerHTML等属性设置文字内容,图片链接等属性设置图片、链接等内容。 最后,我们需要注意数据呈现的方式和样式。可以用CSS样式在前端页面中设置数据呈现方式和样式。也可以使用前端框架中提供的组件或者已有样式库进行快速布局和样式设置。最后,我们还需要对数据呈现区域进行优化和美化,以提升用户体验。 总之,通过以上方式,我们能够在前端页面上直观清晰、美观呈现后台获取的数据,实现用户与网站的交互和数据交流。 ### 回答2: 在使用Ajax从后台获取数据后,我们需要将数据渲染页面上,为此,我们通常会使用DOM操作来完成。一个典型的流程是: 1. 创建DOM元素:可以使用JavaScript中的createElement()方法来创建一个新的DOM元素,或者innerHTML来在已有元素中插入HTML内容。 2. 获取数据:在Ajax请求成功后,我们可以通过回调函数中的responseText属性来获取从后台返回的数据。 3. 解析数据:对于返回的数据,我们通常会将其解析成JSON格式,这可以使用JSON.parse()方法实现。 4. 遍历数据:对于解析后的JSON数据,我们可以使用JavaScript的for-in循环来遍历其中的属性和值。 5. 填充数据:在遍历数据的过程中,可以创建DOM元素并将数据填充到元素中。然后使用appendChild()方法将元素添加到页面中。 6. 显示数据:最后,我们需要将数据显示在页面上,可以使用innerHTML来将数据渲染到指定的DOM元素中。 需要注意的是,由于Ajax是异步的,因此需要使用回调函数来处理从后台获取到的数据。在获取到数据后,并非所有的数据都需要进行渲染,可以根据具体需求来选择需要渲染的数据。此外,为了提高用户体验,我们也需要对数据的渲染进行优化,比如分页、懒加载等。 ### 回答3: 当使用Ajax从后端获取数据后,我们需要将获取到的数据渲染页面上,以便用户可以看到数据。这个过程一般有以下几个步骤。 1. 解析数据 数据一般是以JSON格式返回,我们需要将其解析成JavaScript对象。可以使用JSON.parse()方法将JSON数据转换为JavaScript对象,或使用jQuery提供的$.parseJSON()方法进行转换。 2. 构造HTML结构 接下来,我们需要根据获取到的数据构造HTML结构。一种常见的方式是使用jQuery的模板引擎,例如Handlebars.js、Underscore.js等。模板引擎可以将数据和HTML结构分离,避免在JavaScript代码中写大量的HTML字符串。 3. 插入到页面 完成HTML结构后,我们需要将其插入到页面中。可以使用jQuery提供的方法,例如.html()、.append()等。其中.html()方法可以将HTML代码直接替换掉指定元素的内容,而.append()方法则可以在指定元素的末尾添加HTML代码。 4. 数据更新 最后,我们需要在Ajax请求成功后更新数据。这可以通过将请求成功的回调函数传递给$.ajax()方法的success参数来实现。在回调函数中,我们可以重新获取数据,构造HTML结构,然后将其插入到页面中。 总之,Ajax从后台获取数据后,我们需要将数据解析出来,构造HTML结构,插入到页面中,并在数据更新时进行相应的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值