通过XHR获取json数据以无限期动态智能呈现dhtmlxgrid循环 - javascript

我正在尝试通过enableSmartRendering()在dhtmlxgrid中滚动时获取数据。初始load()可以很好地工作,因此网格的顶部是可读的。但是,一旦我向下滚动到没有数据的位置并尝试加载更多数据,浏览器就会不断触发XHR请求,直到我再次向上滚动,而网格中不再容纳任何数据。

Javascript:

mygrid = new dhtmlXGridObject("grid");
mygrid.setImagePath("codebase/imgs/");
mygrid.setHeader("Col1,Col2");
mygrid.setInitWidths("100,200");
mygrid.setColAlign("right,left");
mygrid.setColTypes("ro,ro");
mygrid.enableSmartRendering(true, 20);
mygrid.init();
mygrid.load("test.php?anrop=ajax", "json");

PHP:

if (isset($_GET['posStart'])) {
    $start = $_GET['posStart'];
} else {
    $start = 0;
}
if (isset($_GET['count'])) {
    $c = $_GET['count'];
} else {
    $c = 20;
}
$data['total_count'] = 1000;
$data['pos'] = $start;
for ($i = $start;$i <= ($start + $c) && $i < 1000;$i++) {
    $data['rows'][$i]['id'] = $i;
    $data['rows'][$i]['data'][0] = $i;
    $data['rows'][$i]['data'][1] = "string";
}

echo json_encode($data);

Link to short video showing the issue.

我尝试在该网站和其他网站上进行搜索,但没有找到遇到此确切问题的任何人。在尝试将动态智能渲染添加到较旧的代码段时遇到了问题,并且想出要简化此简短版本以确保它与旧代码无关,并且仍然无法正常工作,但是我可以似乎没有办法自己解决。我想念什么?

参考方案

我最终找到了解决方案。我没有正确构建阵列。这有效:

$rows = array();
$temprows = array();
$rows['total_count'] = 1000;
$rows['pos'] = $start;
for ($i = $start;$i <= ($start + $c) && $i <= 1000;$i++) {
    $row = array();
    $data = array();
    $row['id'] = $i;
    $data[0] = $i;
    $data[1] = "string";
    $row['data'] = $data;
    array_push($temprows,$row);
}
$rows['rows'] = $temprows;
echo json_encode($rows);

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

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

JSON.parse需要转义哪些字符 - javascript

                        我注意到您无法在JSON中保存1B(转义)以保存JSON.parse函数,您将得到SyntaxError: Unexpected token(在Google chrome中),需要将其写为unicde \u001b。我在Python中编写了json_serialize函数,我还需要转义字符串中的其他哪些字符?这…

Ajax发布请求将发送的数据附加到返回的JSON - javascript

我有一个像这样的ajax调用:$.ajax({ url: '/assets/functions.php', type: 'POST', data: { "functionCall": "get-uploads", "type": type }, dataTyp…

在JavaScript函数中转义引号 - javascript

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

Javascript和Python JSON-未定义变量 - javascript

例如,如果您具有以下JSON对象(删除python的分号):values = { a: 1, b: { c: 2, d: { e: 3 } }, f: 4, g: 5 }; 如果您尝试在JS中打印values,它将正常工作。但是在Python中,它将返回错误NameError: name 'a' is not defined,这意味着未定…