当我们用ajax把数据拿到前台,该如何渲染到页面,有以下几种方式:

一:使用字符串拼接的方法

声明一个空变量,然后拼接

var  st="";
st+="<div>"
st+="这是一段字符串"
st+="</div>"
document.body.innerHTML+=st;

二:DOM创建

在js中使用creatElement的方法,添加到外层元素

 <script>
var div=document.creatElement("div");
document.body.appendChid(div)
</script>

三:underscore的模板(_.template)

模板三部曲

第一步:获取模板的内容

第二步:将数据传到模板里

第三步:添加的指定的位置

 <script src="underscore.js"></script>
<script type=text/template id="temp">
<div>
<span>
<% = data.text%>
</span>
</div>
<script>
<script>
var txt={"text":"hello"}
var temp=document.getelementById("temp").innerHTML;
var html=_.template(temp)
var exam=html({data:text})
document.dody.innerHTMl=exam;
</script>

四:文档碎片

这两种方式将字符串拼接和DOM创建的优缺点结合,原先元素的事件也存在,还减少了DOM回流  

字符串拼接的方法会将元素身上添加的事件都清除,因为字符串拼接会使DOM元素变成字符串,而字符串没有事件, 但是这种方式的优点是DOM回流相对DOM创建较少,

而DOM创建是每创建一次DOM元素就会DOM回流,严重影响了浏览器的性能,但是元素不会受影响,添加的事件也还存在

 var farg=document.creatDocumentFragment();
var div=document.creatElement("div")
div.innerHTML="这是一串字符串"
frag.appendChild(div)
document.appendChild(frag)

PS:

事件委托:当某些元素的子集绑定了大量的相同的事件的时候,我们可以使用事件委托的方法,将事件都绑定到父级身上,找到事件源,绑定方法;

处理ajax数据;数据渲染的更多相关文章

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

    $.ajax({ url:"apiAttachmentAction_uploadAttachment.action", type:"post", data:fo ...

  2. 前端向服务器请求数据并渲染的方式(ajax/jQuery/axios/vue)

    原理: jQuery的ajax请求:complete函数一般无论服务器有无数据返回都会显示(成功或者失败都显示数据): return result

  3. echarts在miniUI和ajax下动态渲染数据

    <script src="echarts.js"></script> <script src="jquery-3.3.1.min.js&qu ...

  4. 使用Python的Flask框架,结合Highchart,动态渲染图表(Ajax 请求数据接口)

    参考链接:https://www.highcharts.com.cn/docs/ajax 参考链接中的示例代码是使用php写的,这里改用python写. 需要注意的地方: 1.接口返回的数据格式,这个 ...

  5. 用Nodejs+Express搭建web,nodejs路由和Ajax传数据并返回状态,nodejs+mysql通过ajax获取数据并写入数据库

    小编自学Nodejs,看了好多文章发现都不全,而且好多都是一模一样的 当然了,这只是基础的demo,经供参考,但是相信也会有收获 今天的内容是用Nodejs+Express搭建基本的web,然后呢no ...

  6. select2 AJAX获取数据

    页面效果: index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"& ...

  7. [NodeJs] 用Nodejs+Express搭建web,nodejs路由和Ajax传数据并返回状态,nodejs+mysql通过ajax获取数据并写入数据库

    小编自学Nodejs,看了好多文章发现都不全,而且好多都是一模一样的 当然了,这只是基础的demo,经供参考,但是相信也会有收获 今天的内容是用Nodejs+Express搭建基本的web,然后呢no ...

  8. 渐进式web应用开发---ajax本地数据存储(四)

    在前几篇文章中,我们使用service worker一步步优化了我们的页面,现在我们学习使用我们之前的indexedDB, 来缓存我们的ajax请求,第一次访问页面的时候,我们请求ajax,当我们继续 ...

  9. 渐进式web应用开发---使用indexedDB实现ajax本地数据存储(四)

    在前几篇文章中,我们使用service worker一步步优化了我们的页面,现在我们学习使用我们之前的indexedDB, 来缓存我们的ajax请求,第一次访问页面的时候,我们请求ajax,当我们继续 ...

  10. for 循环遍历数据动态渲染html

    本案例通过ajax动态获取数据,然后遍历出数据渲染html小心踩坑:因为有时候不注意,渲染页面的时候只能输出最后一个数据所以正确写法为下:如果AJAX数据请求成功的情况下: html <div ...

随机推荐

  1. [STM32F103]串口UART配置

    l 串口时钟使能,GPIO时钟使能: RCC_APB2PeriphClockCmd(); l 串口复位: USART_DeInit(); 这一步不是必须的 l GPIO端口模式设置: GPIO_Ini ...

  2. SSM框架指的是什么

    SSM(Spring+SpringMVC+MyBatis)框架集由Spring.SpringMVC.MyBatis三个开源框架整合而成, 常作为数据源较简单的web项目的框架. 其中spring是一个 ...

  3. 分析RedisRDB和AOF两种持久化机制的工作原理及优劣势

    一.RDB和AOF两种持久化机制的介绍 RDB持久化机制,对redis中的数据执行周期性的持久化 AOF机制对每条写入命令作为日志,以append-only(追加)的模式写入一个日志文件中,在redi ...

  4. spring静态注入

    与其说是静态注入(IOC),不如讲是对JavaBean 的静态成员变量进行赋值. 一般我们在使用依赖注入的时候,如果当前对象(javaBean )创建(实例化)一次,那么非静态的成员变量也会实例化一次 ...

  5. Webservice 从客户端中检测到有潜在危险的 request.form值[解决方法]

    <system.web> <httpRuntime requestValidationMode="2.0" /> <pages validateReq ...

  6. springboot+VUE(一)

    https://segmentfault.com/blog/wangjihong 安装nodejs与NPM 下载nodejs的LTL版本,并安装 https://nodejs.org/en/ 执行no ...

  7. Anatomy of a Database System学习笔记 - 事务:并发控制与恢复

    这一章看起来是讲存储引擎的.作者抱怨数据库被黑为“monolithic”.不可拆分为可复用的组件:但是实际上除了事务存储引擎管理模块,其他模块入解析器.重写引擎.优化器.执行器.访问方式都是代码相对独 ...

  8. zabbix3.x添加华为(93069306)网络设备详解

    转载自:https://www.cnblogs.com/yinzhengjie/p/6768006.html 前言: 欢迎加入:高级运维工程师之路 598432640 相信大家在看我的文章之前,也看过 ...

  9. html5 Sortable.js 拖拽排序源码分析

    最近公司项目经常用到一个拖拽 Sortable.js插件,所以有空的时候看了 Sortable.js 源码,总共1300多行这样,写的挺完美的.   本帖属于原创,转载请出名出处. 官网http:// ...

  10. Kafka运维填坑(转)

    前提: 只针对Kafka 0.9.0.1版本; 说是运维,其实偏重于问题解决; 大部分解决方案都是google而来, 我只是作了次搬运工; 有些问题的解决方案未必一定是通用的, 若应用到线上请慎重; ...