繁体   English   中英

PHP AJAX JQUERY加载页面

[英]PHP AJAX JQUERY load page

我正在使用下面的代码从PHP页面中的数据库查询加载结果:

<a href="results.php?item=itemId">click me</a>

$('.item > a').click(function(){
    var url = $(this).attr('href');
    $('.item-popup').fadeIn('slow');
    $('.item-content').load(url);
    return false; 
});

一切正常,但下一点功能是一个问题。 在ajax加载到.item-content中的results.php里面,我有另一个链接应该更新并增加该链接的点击次数,也没有刷新。 功能PHP位都可以正常工作。 我唯一的问题是jQuery / AJAX方面的事情。

也许我会以错误的方式去做,但我真正想做的是有一个带有容器的页面,它从PHP页面加载数据库查询的结果,但是在那个容器中,我有一个链接/按钮的点击次数我希望能够保存并更新所有内容而无需刷新。

编辑我想我需要回答的最重要的问题是:当index.php上的ajax将results.php的内容加载到index.php中的容器中时,浏览器会将新加载的ajax内容视为父页面的一部分(索引) .php)或者它仍被视为像iFrame一样加载到容器中的不同页面?

如果说例如它是click事件那么你需要写

$('input element').on('click',function() {
     // write code over here
})

不知道你是否想要这个,当在load函数中返回数据时,你必须在结果HTML中添加这样的链接,这将是可点击的:

   <a href="javascript:void(0);" class"clickable" data-id="<?=$id?>" data-counter="0"></a>

现在在javascript中你需要捕获链接的click事件,如下所示:

   <script type="text/javascript">
    $(function(){
       $(".item-content").on("click", ".clickable", function(){
            var counter = $(this).data('counter');
            var id      = $(this).data('id');
            $.ajax({
               url      : //your url here,
               data     : {'id' : id, 'counter' : counter },
               type     : 'POST',
               success  : function(resp){
                    //update the counter of the current link
                    $(this).data('counter', parseInt( $(this).data('counter') )+1 );
                    //whatever here on successfull calling of ajax request
               },
               error    : function(resp){

               }
            });
       });     
    });
    </script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM