数组未发送所有元素,仅获得第一个 - javascript

我想在15秒间隔后从当前页面获取所有帖子ID,以进行服务器端php查询。 php查询将在Sql中找到ID匹配的项,如果找到特定ID的任何数据,则将其追加。

因此,在我当前的页面中,有许多具有自己动态帖子ID的div,例如:

<div class="case" data-post-id="111"></div>

<div class="case" data-post-id="222"></div>

<div class="case" data-post-id="333"></div>

<div class="case" data-post-id="anything else dynamic no"></div>

而且我想,我的javascript将获取此ID并将其发送到php查询,以查找Sql中的任何匹配项。

在这里,我的array仅获得第一个帖子ID。问题是我的javascript数组还是php数组

我的更新脚本:(此处var CID无法获取ID,仅获取第一个ID)

//make array to get id
var CID = []; //get dynamic id 
$('div[data-post-id]').each(function (i) {
    CID[i] = $(this).data('post-id');
});

function addrep(type, msg) {
    CID.forEach(function (id) {
        $("#newreply" + id).append("");
    });
}
var tutid = '<?php echo $tutid; ?>';

function waitForRep() {
    $.ajax({
        type: "GET",
        url: "/server.php",
        cache: false,
        data: {
            tutid: tutid,
            // this way array containing all ID's can be sent:
            cid: CID
        },
        timeout: 15000,
        success: function (data) {
            addrep("postreply", data);
            setTimeout(
            waitForRep,
            15000);
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            setTimeout(
            waitForRep,
            15000);
        }
    });
}

server.php

if($_REQUEST['tutid'] && $_REQUEST['cid']){
    //make array to cid to get id
    foreach($_REQUEST['cid'] as $key => $value){

       $res = mysqli_query($dbh,"SELECT * FROM test WHERE id =".$value." AND page_id=".$_REQUEST['tutid']." ORDER BY id DESC LIMIT 1") or die(mysqli_error($dbh));

        $rows =  mysqli_fetch_assoc($res);  

        $row[] = array_map('utf8_encode', $rows); //line 80
        $data = array();

        $data['id'] = $rows['id']; 
        //etc all

            //do something

if (!empty($data)) {
    echo json_encode($data);
    flush();
    exit(0);
}
} }

参考方案

更改小代码并检查

//make array to get id
var CID = []; //get dynamic id 
$('div[data-post-id]').each(function (i) {
    CID[CID.length] = $(this).data('post-id');
});

javascript popupwindow之后的行如何工作? - javascript

好的,我有一个来自后面代码的方法,可以创建一个popupwindow。然后有一行代码要在那之后执行,我想知道那行代码何时执行,是在使用popupwindow之后执行还是在创建popupwindow之后执行?例如:void exPopupWindowMethod() { string scr = "window.open('exampleP…

如果我得到url(''),我该如何使用另一个URL - javascript

我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/images/no-image.jpg:url();这是我的代码:<div class="uk-clearfix uk-position-relative"> <div class="recipeb…

Javascript-Urls的奇怪字符串比较行为 - javascript

最近,在编写我无法理解的javascript时遇到了字符串比较的问题。我从完全相同的网址创建了两个字符串,当我比较它们时返回false,但是在重新分配相同的字符串后,比较返回true。这是我的示例:var str1 = "http://google.com/"; var str2 = "http://google.com‏/&#…

在JavaScript函数中转义引号 - javascript

我正在尝试将变量传递给javascript函数。根据用户的选择,它可以是文本或图像。这里已经讨论了类似的问题,但我无法解决。在php中,我这样编码:if ($choice == 1) { $img = '<img src = "../folder/'.$_SESSION["img"].'�…

如何调用超链接单击中包含单引号的消息的JavaScript警报? - javascript

我陷入了javascript问题。我正在使用C#编写可以调用javascript来显示警报消息的超链接。请参阅下面的代码以了解它是如何完成的:首先,这是C#从服务器端编写的代码://Server side code string myHyperlink = "<a href='#' onclick=\"alert…