js递归函数被调用两次

时间:2011-12-28 14:16:10

标签: javascript ajax recursion

A有一个递归函数,每5秒通过jQuery.getJSON检索一些数据。

问题是该函数被调用两次。

第一个请求没问题。第二个请求是如何出现的,我无法理解。 我使用yii框架。 “json”和“推文”是控制者。

请求:

GET /json/tweet/123456788 HTTP/1.1
GET /tweets/undefined HTTP/1.1

我如何摆脱无用的请求?感谢。

function updateTweets()
{
var urlJson;

urlJson = "/json/latest";

if (tweetId)
    urlJson = "/json/tweet/" + tweetId;

$.getJSON(
    urlJson ,
    function(data){
        switch(data.status)
        {
            case 'success':
                html = processTweets(data.tweets);
                showTweets(html);
                setTimeout(updateTweets, 5000 /* 5 sec */);
                break;
            default:
                showMessage('Error!');
                break;
        }
        return false;
    })
.error(function(XMLHttpRequest, textStatus, errorThrown){
        setTimeout(updateTweets, 12000 /* 12 sec */);
        return false;
    }
);
}

首次调用“updateTweets”:

var tweetId = 1234567;
$(function(){
      updateTweets();
 })', 

0 个答案:

没有答案