首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击按钮时的CakePHP和jQuery计数器

问单击按钮时的CakePHP和jQuery计数器
EN

Stack Overflow用户
提问于 2011-10-20 02:33:05
回答 1查看 875关注 0票数 0

我已经写了一个小的jQuery按钮点击计数器,我有一点卡住了,因为我想提交我的表单来添加一行到mysql数据库(cakephp),然后如果它被添加更新页面上的值,但如果它没有被添加到数据库中,计数器就不会上升。

我纠结于如何将一个值返回给jquery,以判断它是否成功插入到数据库中。

这是我目前正在使用的代码。

js:

代码语言:javascript
复制
$(document).ready(function() 
{
$('.add-vote-link').click( function () 
{
    var img_id = $(this).attr('id');

    $.ajax({  
                type: "POST",  
                url: "/votes/vote/" + img_id,  
            //  data: "img_id="+ img_id,  
                success: function()
        {  
                    //$('form#submit').hide(function(){$('div.success').fadeIn();});   
            $('#vote_counter_'+img_id).html(function(i, val) { return +val+1 });
                }  
    });
});
});

要更新的html:

代码语言:javascript
复制
<div id="vote_counter_<?php echo $img['Images']['img_id']; ?>">
    <?php echo $img['Images']['img_vote_count']; ?>
</div>  

php是用来提交数据到db的,这也很好用,如果成功插入,则返回1,如果没有插入,则返回0,我如何将其传递回jquery函数,然后使用if语句执行计数器++或不返回。

希望有人能帮上忙,iv解释一下好吗:)

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2011-10-20 20:55:49

如果一切都很完美,您只需要将数据作为json :D进行传递

在页面"/votes/vote/“+ img_id中,你应该把它显示json数据

视图通常如下所示

代码语言:javascript
复制
<?php
echo $javascript->object($results);
?>

$results应该是这样的数组

代码语言:javascript
复制
$results = array( 'result' => 1, //any other data you want to pass
);

你的布局应该是这样的

代码语言:javascript
复制
<?php
header("Pragma: no-cache");
header("Cache-Control: no-store, no-cache, max-age=0, must-revalidate");
header('Content-Type: text/x-json');
echo $content_for_layout;
?>

最后,您的$.ajax应该是这样的

代码语言:javascript
复制
$.ajax({  
            type: "POST",  
            url: "/votes/vote/" + img_id,  
        //  data: "img_id="+ img_id,
            dataType: "json",  
            success: function( data ){  
                if (data.result == 1){
                     counter++;
                } else {
                  //display error message or something
                }
                $('#vote_counter_'+img_id).html(function(i, val) { return +val+1 });
            }  
});

像这样,你可以在cakephp页面执行后将任何数据传递给你的jquery,希望这对你有用:D (我是从内存中做的,所以我可能遗漏了一些东西:S)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7826267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档