0

新しいデータをチェックするために 3 秒ごとに php スクリプトを呼び出す setinterval メソッドが 1 つあります。

                    setInterval($.proxy(function(){
                    var dataString =  options.url+'table_id='+options.table_id
                    $.ajax({
                            type : 'POST', 
                            url : options.url+"check", 
                            data : dataString, 
                            success: $.proxy(function(data){
                            if(data != ""){
                            var json = $.parseJSON(data);

                            if(json.num >= 1){
                                this.callOtherMethod(json.user_id);

                                    }, this));
                            }
                        }
                            }, this)
                        });
                }, this), 3000);    

num が >= 1 の場合、ボタンが表示されます。

ユーザーが追加ボタンをクリックすると、最初のメソッドが呼び出されるたびに callOtherMethod からの URL が読み込まれます。例: ユーザーが 30 秒後に追加ボタンをクリックすると、example.com/add が 10 回呼び出されます。

私の呼び出しOtherMethod

                this.callOtherMethod = function(id)
                {
                this.id = id;
                $('#button').show();
                $(".add").bind('click', $.proxy(function(){
                if(this.user_id > 0){
                    $.ajax({
                        type: "POST",
                        url: "add",
                        data: options.url+"text="+this.text+"&user_id="+this.user_id,
                        success: $.proxy(function(data){
                            if(data != ""){

                            // add action
                            }                                
                        }, this)
                    });
                }
                },this));

助けてくれてありがとう

4

1 に答える 1

1

問題は、callOtherMethod新しいid. $('#button').show()and は、メソッドから 1 回だけ起動する別の$(".add").bind('click', $.proxy(function(){ ...メソッドで呼び出す必要がありますsetInterval。(ブール変数を使用してチェックすると、一度だけ起動することができます)。

お役に立てれば

于 2012-06-28T19:40:35.600 に答える