0

Ajax 在我下面的代码中调用了两次,我用 Fiddler 和 firebug 进行了检查。

我阅读了所有相关问题,但找到了解决方案.. 下面是我的代码..

我还检查了 onclick 事件,它也触发了两次..

 <head>

<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="format-detection" content="telephone=no" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />
<link rel="stylesheet" href="css/jqmd.css" />

<script src="js/jm.js" type="text/javascript"></script>

<script src="js/json2.js" type="text/javascript"></script>

</head>
         <body>    

       </body>
 <script language="javascript">

    function pp() {
        $.ajax({

            type: "POST",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            url: "cont.aspx/getP",
            data: "{gt: '',cid: ''}",
            success: function(r) {
                alert('test');
            }
        });
    }

    setTimeout("pp()", 2000);
  </script>

4

2 回答 2

0
var t='';
 function pp() {
        $.ajax({

            type: "POST",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            url: "cont.aspx/getP",
            data: "{gt: '',cid: ''}",
            success: function(r) {
                alert('test');
            }
        });
 clearTimeout(t);
    }

 t= setTimeout("pp()", 2000);
于 2012-06-06T06:15:46.273 回答
0

在ajax调用完成后将布尔值设置为true怎么样,如果值已更改,则它将不会运行。尝试这个:

<script language="javascript">
    var j;
    function pp() {
        if (j !== true) {
            $.ajax({

                type: "POST",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                url: "cont.aspx/getP",
                data: "{gt: '',cid: ''}",
                success: function(r) {
                    alert('test');
                }
            });
         }
            j = true;
        }

        setTimeout("pp()", 2000);
      </script>
于 2012-06-06T06:21:24.763 回答