laytpl模板——怎么使用ajax与数据交互
第一次在项目中用laytpl模板,下面是一些使用过程中的探索,希望对小伙伴们有所帮助。
注:第一次使用这个模板的小伙伴建议先去看看官网 laytpl
<script type="text/html" id="productList-shop-main1"> //模板内容都要存放在<script>标签里
{{# for (var i = 0; i < d.obj.length; i++){ }} //模板里面的for循环跟js一样的写法,要写在{{# }}这里面
<div class="list-shop product-list-shop" data-id="{{d.obj[i].id}}"> //模板内容里面的数据要写在2对大括号里面{{ d.数据 }}
<div class="list-msg-2 productlist-img"> //模板里面的数据前面都要加上d,没有为什么,语法就这样
<a title="{{d.obj[i].fullName}}"><img src="{{d.obj[i].imgrealpath_45}}" class="shop-img" data-id="{{d.obj[i].id}}"/></a>
</div>
<div class="list-msg-3 productlist-msg-3">
<div class="list-main-1">
<div class="productlist-list-main-1-left list-main-1-left product-main-1-left">{{d.obj[i].fullName}}</div>
</div>
<div class="list-main-3">
<div class="list-main-3-left"><span>¥{{d.obj[i].price}}</span></div>
<div class="list-main-3-right">
<ul class="product-btn productlist-btn"> {{# if(d.obj[i].isFavorite == 1){ }} //if else也是js的写法,也要写在{{# }}里面
<li><img class="favorite-icon" src="webpage/weixin/wudeli-weixin/images/list01.png" data-value="{{d.obj[i].isFavorite}}" /></li>
{{# }else{ }} //else也要写在{{# }}
<li><img class="favorite-icon" src="webpage/weixin/wudeli-weixin/images/list1.png" data-value="{{d.obj[i].isFavorite}}" /></li>
{{# } }} //结束括号也要写在{{# }}
<li><img class="index-car-icon" src="webpage/weixin/wudeli-weixin/images/car-chcked01.png" /></li>
<li class="product-btn-buy productlist-btn-buy" "><button onclick="productBtn(this);">立即购买</button></li>
</ul>
</div>
</div>
</div>
</div>
{{# } }} //for循环结束括号也要单独写在这里面{{# }}
</script>
上面模板的内容就是下图红色框的部分,使用了这个模板以后,就不用再拼字符串了。

下面总结了2种写法:
第一种是模板里面已经写了循环(比如我上面的模板就已经写了循环),ajax请求里面就不需要在写循环了,如下图:
var gettpl = document.getElementById('productList-shop-main1').innerHTML;
$.ajax({
url: "orderController.do?findTdCodeNews",
data: {
"billCompanyName":billCompanyName
},
type: "post",
dataType:"json",
success: function (e) {
if (!e.success) {
alert(e.msg);
return false;
}
laytpl(gettpl).render(e, function(html){ //这里的gettp1就是获取到模板内容的id
document.getElementById('item3-main').innerHTML = html; //把获取到的模板内容添加到id为item3-main的容器里面
});
}
});
}
第二种是,模板里面没有写循环,那么就要在ajax请求里面写循环,如下图:
var gettpl = document.getElementById('productList-shop-main1').innerHTML;
$.ajax({
url: "orderController.do?findTdCodeNews",
data: {
"billCompanyName":billCompanyName
},
type: "post",
dataType:"json",
success: function (e) {
if (!e.success) {
alert(e.msg);
return false;
}
//xxx代表返回结果集的属性名称
for(var i = 0; i < e.xxx.length; i++){
laytpl(gettpl).render(xxx[i], function(html){
document.getElementById('item3-main').innerHTML = html;
});
}
}
});
}
laytpl模板——怎么使用ajax与数据交互的更多相关文章
- $Django ajax简介 ajax简单数据交互,上传文件(form-data格式数据),Json数据格式交互
一.ajax 1 什么是ajax:异步的JavaScript和xml,跟后台交互,都用json 2 ajax干啥用的?前后端做数据交互: 3 之前学的跟后台做交互的方式: -第一种:在浏览器 ...
- AJAX进行数据交互的过程
AJAX全称为"Asynchronous JavaScript and XML"(异步JavaScript和XML). 是指一种创建交互式网页应用的网页开发技术. 通过在后台与服务 ...
- springmvc使用ajax进行数据交互时,session失效问题(@ResponseBody与session能否同时使用?)
今天做博客demo的时候遇到了这样的问题:当我用ajax进行资源请求时,需要顺便将账户信息存入session.但是后来发现有@Responsebody标签时,直接用HttpSession存数据时,根本 ...
- Vue--- Vue(Pubsub + Ajax) 数据交互
案例知识点 兄弟组件儿的通信 使用了Pubsub 订阅与发布 ajax数据请求 获取前 获取中 获取后 获取为空 获取异常 获取成功后显示数据给到 原先定义号的 ...
- Struts2+Ajax实现数据交互
1.导入jar包 struts核心包: json需要的包: 2.配置web.xml <filter> <filter-name>struts2</filter-name& ...
- EChats+Ajax之柱状图的数据交互
原文链接:https://blog.csdn.net/qq_37936542/article/details/79723710 一:下载 echarts.min.js 选择完整版进行下载,精简版和常用 ...
- Ajax概述,封装以及联合模板引擎进行数据交互
欢迎大家去博客冰山一树Sankey,浏览效果更好.直接右上角搜索该标题即可 博客园主页:博客园主页-冰山一树Sankey CSDN主页:CSDN主页-冰山一树Sankey 更多资料可参考Ajax 介绍 ...
- 无废话ExtJs 入门教程二十[数据交互:AJAX]
无废话ExtJs 入门教程二十[数据交互:AJAX] extjs技术交流,欢迎加群(521711109) 1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3C ...
- JavaScript模板引擎实现数据交互
经过1年的磨练,近期终于稍微明白到,前端是怎么做到企业要求的:数据交互. 1,ajax+json这个是必须学的,但没问题,我们可以通过这个博客来慢慢了解怎么回事? 2,可以通过JS框架和JS模板来实现 ...
随机推荐
- 【算法】Attention is all you need
Transformer 最近看了Attention Is All You Need这篇经典论文.论文里有很多地方描述都很模糊,后来是看了参考文献里其他人的源码分析文章才算是打通整个流程.记录一下. T ...
- vertx.FileResolver文件解析
FileResolver Class //文件复制解析,复制文件到cache directory 中 ,VM options : -Dvertx.disableFileCPResolving publ ...
- 一个二维码-->网址-->iOS/Android跳转
view-source:https://dpx.shopo.com.cn/down.html lmxmn117:~ will.wei$ curl https://dpx.shopo.com.cn/do ...
- javamail 发送、读取邮件
概述 1.邮件相关的标准 厂商所提供的 JavaMail 服务程序可以有选择地实现某些邮件协议,常见的邮件协议包括: SMTP(Simple Mail Transfer Protocol) :即简单邮 ...
- linux在线安装mysql
1)下载rpm安装包 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm;2) 安装mysql源 yum ...
- JS-两个空数组为什么不相等?
var a = [], b = []; console.log(a==b); 控制台的打印结果是什么?答案是:false. 接下来看解析: 原始值的比较是值的比较: 它们的值相等时它们就相等(==) ...
- Kubernetes系列之Helm介绍篇
本次系列使用的所需部署包版本都使用的目前最新的或最新稳定版,安装包地址请到公众号内回复[K8s实战]获取 介绍 Helm 是 Deis 开发的一个用于 Kubernetes 应用的包管理工具,主要用来 ...
- Win Server 2003 10条小技巧
微软推出Windows Server 2003已经有一段时间了,但是,由于它是一个面向企业用户的服务器操作系统,所以,没有引起更多个人用户的注意.实际上,简单地改变一下系统的设置,您也可以将Windo ...
- MonggoDB(二)
分组聚合 如果你有数据存储在MongoDB中,你想做的可能就不仅仅是将数据提取出来这么简单,可能需要对数据进行分析并加以利用. 聚合框架:可以使用多个构件创建一个管道,上一个构件的结果传给下一个构件. ...
- 【2019雅礼集训】【可持久化线段树】【模型转化】D1T2Permutation
目录 题意 输入格式 输出格式 思路 代码 题意 给定一个长度为n的序列A[],你需要确定一个长度为n的排列P[],定义当前排列的值为: \[\sum_{i=1}^{n}{A[i]P[i]}\] 现在 ...