1

質問がありますが、フォーラムの適切な場所に投稿しているかどうかわかりません。Ajax を使用してクリック数をカウントするために、Ajax を使用してフォームを作成しようとしています。しかし、問題は、クリックするたびに、クリック数が常に 1 になることです。

説明したコードの一部を次に示します。

ビューから JavaScript で

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

アラート (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 に答える