从数组检索中更改常量

时间:2016-06-29 16:23:46

标签: php jquery

我有一个打印许多回复框的ajax页面。

每隔几秒我就得到另一个带有回复ID和“最后回复日期”的ajax数组。我想在这个数组(“res”)上运行循环,它会找到类“lastReplyDate”的所有范围,并用我从数组中收到的数据替换常量

响应:

SELECT SUBSTRING([TURFS],
                 1,
                 CASE WHEN CHARINDEX(',', [TURFS]) > 0
                      THEN CHARINDEX(',', [TURFS]) - 1
                      ELSE LEN([TURFS])
                 END)

JS

while($mainIndex = mysql_fetch_array($mainQuery))
    $chatTopics[] = array('id' => $mainIndex['id'], 'statusID' => $mainIndex['statusID'], 'createDate' => $mainIndex['lastReplyDate']);

echo json_encode($chatTopics);

HTML示例:

function refreshStatuses() 
{ 
    var lastRefreshReplies = $('#lastRefreshReplies').val();
    var data = 'lastRefreshReplies=' + lastRefreshReplies;
    var data = data + "&act=refreshStatuses";       

     $.ajax({
        type: "POST",
        url: "ajax/chatsAjax.php",
        data: data,
        cache: false,
        dataType: 'json',
        success: function(res){

            console.log(res); 

            var elems = $('#chatLists li.replyBox');
            for (var i=0; i<res.length; i++) {
                $( "#chatLists li.replyBox id" data-ref = res[i]['id']).find("span.replyStatus").toggleClass('chatStatusColor_noAssign chatStatusColor_hd');;
            }               

            $( "#lastRefreshReplies" ).val(getTimestamp());                 

       }
     });
    setTimeout('refreshStatuses()', 10000); //10 seconds
}  

1 个答案:

答案 0 :(得分:0)

这是不正确的setTimeout(&#39; refreshStatuses()&#39;,10000); 把settimeout放在你的功能之外

function refreshStatuses() 
{ 
    var lastRefreshReplies = $('#lastRefreshReplies').val();
    var data = 'lastRefreshReplies=' + lastRefreshReplies;
    var data = data + "&act=refreshStatuses";       

     $.ajax({
        type: "POST",
        url: "ajax/chatsAjax.php",
        data: data,
        cache: false,
        dataType: 'json',
        success: function(res){

            console.log(res); 

            var elems = $('#chatLists li.replyBox');
            for (var i=0; i<res.length; i++) {
                $( "#chatLists li.replyBox id" data-ref = res[i]['id']).find("span.replyStatus").toggleClass('chatStatusColor_noAssign chatStatusColor_hd');;
            }               

            $( "#lastRefreshReplies" ).val(getTimestamp());                 

       }
     });

} 

setTimeout(refreshStatuses(), 10000); //10 seconds