javascript - jsrender问题:获取数据没有被覆盖

查看:84
本文介绍了javascript - jsrender问题:获取数据没有被覆盖的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

想实现的效果是:在#poorcon这个div里已经加载好最初的前几条数据,然后点击按钮加载接下来的几条数据,第一次点击通过jQuery("#poorcon_more").render("#poorcon_more", { rows: obj }); 这一句,已经将数据存入div#poorcon_more里面了,然后append到div#poorcon中,但是接下来的点击按钮之后,div#poorcon_more里面的内容还是保持原先的数据,没有被覆盖,导致列表显示重复数据。
(后台的sql查询语句已经确保正确)

$(function(){
        jQuery.noConflict();

        var currentPage = 1;
        jQuery.getJSON('mobilegetInfo.aspx?Type=pklbmore&currentPage='+currentPage, function (obj) {                                            
                jQuery("#poorcon").render("#poorcon", { rows: obj });                                                                                                    
            });
        jQuery(".refresh").click(function(){
            currentPage++;            
            jQuery.getJSON('mobilegetInfo.aspx?Type=pklbmore&currentPage='+currentPage, function (obj) {                                            
                jQuery("#poorcon_more").render("#poorcon_more", { rows: obj }); 
                jQuery("#poorcon").append(jQuery("#poorcon_more").html());                                                                                    
            });
             
            
        })
        
       
    })
    
<div class="pp poorcon_more"  id="poorcon_more" style="display:none;" >
            <!--
        
            <#for(var i=0;i<rows.length;i++){#>
            <a href="poordetail.html?id=<#= rows[i].id #>" target="_blank" >
            <div class="poorcon1">
                <div class="poorimg"><img src="<#= rows[i].url #>" /></div>
                <div class="poorinfo">
                
                <p class="host">户主:<#= rows[i].hzxm #></p>
                <p class="pos">地区:<#= rows[i].diqu #></p>
                <p class="tech"><#= rows[i].zpyysl #></p>
                <p><span><#= rows[i].zllb #></span></p>
                </div>
            </div>
            </a>
                <#} #>
            -->
       </div>   

 
    
    

解决方案

首先,这个 jQuery(selector).render 中的 render 方法不是 jQuery 标准的 API,你引入什么第三方插件要说清楚,不然压根不知道里边是怎么工作的。

其次,所谓的后台 sql 查询正确,是指你确保后端返回给前端的数据是正确的么?

最后,我猜测,你这种使用 render 的姿势是不正确的。render 很可能是获取 <!-- --> 里边的代码后解析渲染,但是你第一次 render 的时候已经把代码弄成正确的 html 而不是模板了,第二次它取不到模板,自然不会渲染。当然,这些都是猜测。

这篇关于javascript - jsrender问题:获取数据没有被覆盖的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆