1

我有一个问题,我不知道我是否将它发布在论坛的正确位置。我正在尝试使用 Ajax 制作一个表单来计算我通过 Ajax 获得的点击次数。但问题是,每次我点击时,我总是收到点击次数为 1。

这是一段解释的代码:

视图中的 JavaScript

$("#click").click(function(){    
            $.ajax({
                type: "POST",
                url: bseUrl+"counter/incCount",
                data: click,
                success: function(html){
                    alert(html);
                }
            });
        });

alert(html) 应该显示来自服务器的总点击次数;

计数器控制器

class Counter extends CI_Controller {

    //put your code here
    var $numClick;

    public function __construct() {
        parent::__construct();
        $this->numClick= 0;
    }

    public function Counter() {
        parent::__construct();
$this->numClick= 0;
    }

    public function incCount() {
        echo $this->numClick++;
    }

public function index() {
        //loadView
    }
}

但是每次我点击我总是收到点击次数为 1。为什么我每次都会丢失可变内容?似乎每次我进行 Ajax 调用时,我都会启动变量。

你们能帮帮我吗?

4

1 回答 1

1

每次调用点击处理函数时,您都会重新初始化计数器 - 为什么?尝试这样做:

//init counter somewhere
var num_clicks= 0;
//increase counter and send request
$("#click").click(function(){
            num_clicks++;
            var click= "numberClick="+num_clicks;
            $.ajax({
                type: "POST",
                url: bseUrl+"counter/incCount",
                data: click,
                success: function(html){
                    alert(html);
                }
            });
        });
于 2011-02-02T13:11:17.557 回答