【问题标题】:How could I keep resending this ajax request?我怎样才能继续重新发送这个 ajax 请求?
【发布时间】:2012-06-14 04:51:14
【问题描述】:

我尝试使用 setinterval 让我的 ajax 请求每 2 秒发送一次,但它不断使页面崩溃,所以我认为出了点问题!

这是我的代码:

 var fburl = "http://graph.facebook.com/http://xzenweb.co.uk?callback=?";

        //getting facebook api content
        $.getJSON(fburl, function(data){

        var name = data["shares"];
        var dataString = 'shares='+name;

        //sending share count data to server
        $.ajax({
        type: "POST",
        url: "index.php",
        data: dataString,
        cache: false,

        success: function(html)
        {
        $("#content").html(html);
        }
    });
return false;   
}); 

我是 ajax 和 javascript 的新手,如果你能帮助我,我将不胜感激 :)

【问题讨论】:

  • 好吧,我向 Facebook 发出了 get.JSON 请求以检索我想要的信息,然后通过 $.ajax 通过 ajax 发送它
  • 请提供setinterval 部分。使页面崩溃是相当困难的。你可能在某处有一个无限循环。
  • 感谢 Konrad - 我知道哈哈,我觉得自己像个菜鸟。
  • 这里是设置间隔代码: setInterval(function() {//getting facebook api content $.getJSON(fburl, function(data){ var name = data["shares"]; var dataString = 'shares='+name; //发送共享计数数据到服务器 $.ajax({ type: "POST", url: "index.php", data: dataString, cache: false, success: function(html) { $("#content").html(html); } }); return false; });
  • 在底部:}, 2000);

标签: javascript ajax json setinterval


【解决方案1】:

为 $.getJson 提供回调函数

function test(){
         $.getJSON(fburl, 
              function(data) {
                  //your method
              }); 
         setInterval("test()",2000);
      }

更新答案::

<script>

$(document).ready(function(){
    test();
  });


function test(){
    $.getJSON("http://graph.facebook.com/http://xzenweb.co.uk?callback=?", 
         function(data) {
         var name = data["shares"];
            var dataString = 'shares='+name;

            $.ajax({
                type: "POST",
                url: "index.php",
                data: dataString,
                cache: false,

                success: function(html)
                {
                $("#content").html(html);
                }
            });
            return false;  
         }); 
    setTimeout("test()",5000);
 }




</script>


<body>
<div id="content">Hello</div>
</body>

【讨论】:

  • 我会在函数 test() 中包含 ajax 请求吗?
  • 嗯,它似乎对我不起作用......现在什么都没有出现
  • 您必须包含您的 ajax 调用来代替“您的方法”,但我建议您在此之前阅读此链接 ..stackoverflow.com/a/1739812/1085285
  • 嗨 Fidrizers 我已经在 //你的方法中包含了我的 ajax 调用,但没有出现任何内容:S
  • 你在某处调用测试函数吗?查看编辑..(使用 fbUrl 而不是 fburl)
猜你喜欢
  • 1970-01-01
  • 2020-09-13
  • 1970-01-01
  • 2019-06-09
  • 2012-01-12
  • 1970-01-01
  • 2012-02-27
  • 2012-08-21
  • 2019-05-21
相关资源
最近更新 更多