ajax中的模板引擎

一.模板引擎

我们在使用ajax请求数据时,返回的如果是一个 JSON 格式的字符串,我们需要将其包装到对应的HTML代码中,
再添加到页面上,才能看到效果。
------渲染过程就是模板引擎

模板引擎的使用

                使用方法:
                    1.引入
                    2.通过ajax获取数据,返回到前端
                    3.渲染数据,渲染页面
                     $.ajax({
                        url:'user.json',//请求地址
                        data:'',//发送的数据
                        type:'',//请求的方式
                        dataType:'json',//数据的类型
                        success:function (res) {
                            console.log(template('dvTemplate',{userInfo:res}));
                                ----传递html格式的数据
                            $('.uu').html(template('dvTemplate',{userInfo:res}));
                                ----渲染到页面

                        },// 请求成功执行的方法
                    
                        //将请求到的json数据渲染到 html页面,通过字符串创建的方法
                        <script type="text/template" id="dvTemplate">
                            <%  for(var i=0;i<user.length;i++){%>
                                <li>name:<% =user[i].name %> age:<% =user[i].age %> </li>
                            <%}%>

二.bootstrap中的使用模板引擎创建动态轮播图

旋转木马:轮播图;
          响应式的实现:
            官网中的代码,修改在class=item中,其中的<div class="carousel-caption">
            是对图片的解释文本、
                其中实现响应式的效果,可通过在pc端设置a标签,设置其背景图片,通过定位来使图片居中,原因为pc端中图片
            的宽度随页面宽度改变,但高度并不变,否则图片将会变形。移动端中通过img设置图片,图片
            的宽高随页面的宽高改变,即在 xs 中显示小图片,sm-md-lg中隐藏小图片;同理在xs中隐藏
            大图片
            
            渲染数据实现动态轮播图
                $.ajax({
                    url:'json数据',
                    data:'json',
                    success:function(){
                        //模板引擎
                        //轮播图的小圆点,图片
                        小圆点
                        var pointHtml=template('pointTemplate',{lunboList:data})/*添加模板引擎,则必须清除掉html页面中的小圆点代码*/
                        ...html('小圆点的变量')
                        图片
                        var .....
                        ...html('图片的变量')

                    },
                    error:''
                })
                //小圆点的渲染
                 <script type="text/template" id="pointTemplate">
                    <%for(var i=0;i<lunboList.length;i++){%>
                        <li data-target="#carousel-example-generic" data-slide-to='<%=i%>' class='<%=i==0?'active':'%>'></li>
                    <%}%>
                //图片的渲染
                  <script type="text/template" id="imageTemplate">
                    <%for(var i=0;i<lunboList.length;i++){%>
                       <div class='item' <%=i==0?'active':''%>'>
                           <a href="#" class='pc_imgBox hidden-xs style="background-images:url(<%=lunboList[i].pcUrl%>)"'>
                           </a>
                            <a href="#" class='m_imgBox hidden-xs hideen-md hidden-sm '>
                                <img src="<%=lunboList[i].mUrl%>" alt="">
                            </a>
                        </div>
                    <%}%>

           优化:数据的缓存--可降低ajax请求的次数
                ---原理:请求成功时将请求的数据赋值给window,使之成为window中的一个属性,使下次不用再次请求数据,只需要请求一次即可
                        window.data=data;
                        再通过判断条件,如果已缓存数据,则缓存数据,否则进行缓存数据 window.data=data;
                图片的显示,可通过js中的判断条件来判断显示哪张图片,不用再代码中书写hidden-md等代码,这样页面中将加载更快和流畅
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值