javascript - jsrender问题:获取数据没有被覆盖
高洛峰
高洛峰 2017-04-10 18:06:07
[JavaScript讨论组]

想实现的效果是:在#poorcon这个p里已经加载好最初的前几条数据,然后点击按钮加载接下来的几条数据,第一次点击通过jQuery("#poorcon_more").render("#poorcon_more", { rows: obj }); 这一句,已经将数据存入p#poorcon_more里面了,然后append到p#poorcon中,但是接下来的点击按钮之后,p#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());                                                                                    
            });
             
            
        })
        
       
    })
    
<p 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" >
            <p class="poorcon1">
                <p class="poorimg"><img src="<#= rows[i].url #>" /></p>
                <p 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>
                </p>
            </p>
            </a>
                <#} #>
            -->
       </p>   

 
    
    
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
黄舟

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

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号