Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击按钮上的CakePHP和jQuery计数器_Jquery_Cakephp - Fatal编程技术网

单击按钮上的CakePHP和jQuery计数器

单击按钮上的CakePHP和jQuery计数器,jquery,cakephp,Jquery,Cakephp,我写了一个小小的jQuery按钮点击计数器,我有点卡住了,因为我想提交我的表单,将一行添加到mysql数据库(cakephp),然后如果添加了该行,则更新页面上的值,但如果没有添加到数据库中,则计数器不会上升 我一直在讨论如何将值返回给jquery,以表示它是否成功地插入到数据库中 这是我目前正在使用的代码 js: 要更新的html: <div id="vote_counter_<?php echo $img['Images']['img_id']; ?>"> &

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

我一直在讨论如何将值返回给jquery,以表示它是否成功地插入到数据库中

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

js:

要更新的html:

<div id="vote_counter_<?php echo $img['Images']['img_id']; ?>">
    <?php echo $img['Images']['img_vote_count']; ?>
</div>  

php用于将数据提交到db,这也可以正常工作,如果插入成功,则返回1;如果插入失败,则返回0。如何将其传递回jquery函数,然后使用if语句执行计数器++或不执行计数器+

希望有人能帮忙,我解释一下好:)


谢谢

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

在“/votes/vote/”+img_id页面中,您应该指出它显示json数据

最常见的景观可能是这样的

<?php
echo $javascript->object($results);
?>
<?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({  
            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 });
            }  
});
你的布局应该是这样的

<?php
echo $javascript->object($results);
?>
<?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({  
            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)