我尝试每隔60秒从json文件中提取2个div .totalmembers
和.totalcomm
。
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: ''
});
})
}
})
});
答案 0 :(得分: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。
答案 1 :(得分:0)
data.totalmembers
而data.totalcommunities
可能是List<something>
?
如果是,则必须生成HTML格式以提供div
即。 :data.totalmembers
toatalmebers的foreach成员
<table><tr><td>
totalmembers.name </td></tr></table>....