0

我正在尝试输入 2 个 div,.totalmembers并且.totalcomm每 60 秒从一个 json 文件中输入一次。

json 文件看起来像这样,{ "members": { "data": [ { "TotalMembers": 14 } ] }, "communities": { "data": [ { "TotalCommunities": 10 } ] } }

我在这里做错了什么?

    $(function FeedTicker() {
        $.ajax({
            type: "GET",
            url: "default.cs.asp?Process=ViewStats",
            dataType: 'json',
            success: function(data) {
                if (index == "members") {
                    $(".totalmembers").html(data.totalmembers);

                } else if (index == "communities") {
                    $(".totalcomm").html(data.totalcommunities);
                }
            $('.totalmembers').ajaxSuccess(function(){
                $(this).ticker({
                    pauseOnItems: 6000, 
                    displayType: 'fade',
                    controls: false, 
                    titleText: ''
                });
            })
            $('.totalcomm').ajaxSuccess(function(){
                $(this).ticker({
                    pauseOnItems: 6000, 
                    displayType: 'fade',
                    controls: false, 
                    titleText: ''
                });
            })
            }
        })
    });
4

2 回答 2

1

一种选择是修改您的 JSON。类似的东西{ totalmembers: 109, totalcommunities : 3}。如果您希望它在不修改 JS 的情况下工作,这就是它的外观。

另一种选择是修改你的 JS。将您的成功回调更改为:

function(data) {
  if (index == "members") {
    $(".totalmembers").html(data.members.data[0].TotalMembers);
  } else if (index == "communities") {
    $(".totalcomm").html(data.communities.data[0].TotalCommunities);
  }
}

我认为将 ajaxSuccess 注册移动到成功回调之外的某个地方可能也是一个好主意。目前,每次 ajax 请求成功时,您的代码都会重新注册 div。

于 2013-04-15T07:27:12.420 回答
0

data.totalmembersdata.totalcommunities可能List<something>是?

如果是,那么您必须生成 HTML 格式来提供 div

即:data.totalmembers

总成员中的 foreach 成员

<table><tr><td>totalmembers.name</td></tr></table>....

于 2013-04-15T07:12:41.223 回答