Jquery-ajax控制数据发布

时间:2010-11-16 11:48:45

标签: jquery ajax

我不明白为什么但有时当我使用.post()函数时,数据被发布多次,我怎么能控制并停止这种思考?提前谢谢。

最好的问候 那是我的代码:

case "mod" :
            $.post("./php/"+eti[indice]+".php",
                {azione: "carica", contratto:contratto},
                function(xml)
                {
                    if ($("status", xml).text()=="1")
                    {
                        scorriDati(xml);
                        $.post("./php/"+eti[indice]+".php",
                        {azione: "vedi", contratto: contratto },
                        function(xml)
                        {
                            if ($("status", xml).text()=="1")
                            {
                                var lun=$("#"+eti[indice]+"_"+indice).length;
                                if (lun == 0)
                                {
                                    $("#scheda_sch").append("<div style='clear:both'><div style='float:right' id='mod_def'><div id='"+eti[indice]+"_"+indice+"' class='bt'>modifica</div></div></div>");
                                    scorriDati(xml);
                                }
                            }
                            else
                            {
                                $("#scheda_ris").html("<p><img src='./img/validyes.png' alt='ok'> Attenzione!<br>codice non trovato!</p>");
                            }
                        },'xml');
                    }
                    else
                    {
                        $(xml).find("errore").each(function()
                        {
                            $("#scheda_ris").append("<img src='./img/validno.png' alt='errore'> <span style='color:red'>"+$(this).text()+"<br></span>\n");
                        });
                    }
                },'xml'
            );
        break;

当我点击modifica时出现问题,我收到多个按钮并且数据被多次发布..

侨 ħ

2 个答案:

答案 0 :(得分:2)

通常,当有双重按钮的最终用户使用您的应用时,会发生这种情况。如果您在第一次单击

后没有禁用该按钮,这可能会导致两次发布请求

我希望你添加代码来妥善处理这个问题并解决你的问题。您可以做以下事情寻求解决方案:

  • 在第一次出现时禁用导致发布事件的控件
  • 你可以绑定点击并双击两个事件到同一个函数,然后使用存储点击次数的全局变量,如果count是&gt; 1然后不要点击它。在帖子的结果你可以再次计数0。

希望这会有所帮助

答案 1 :(得分:1)

你可能会两次调用.post()。