ajax中的全局变量可能吗?变通一下



现在我有一个网站,它使用PHP从大型SQL数据库生成一个表。

我想在我的网站上添加两个按钮,它们将使用AJAX用新数据更新表格。表都是索引的,所以我只需要能够通过XMLHttpRequest提交一个"偏移量"变量来获得新数据。我的代码是:

xmlhttp.open("GET","schedule_top.php?q="+offset, true);
xmlhttp.send();

现在,我的"下一个"按钮将给出3的偏移量,而我的"上一个"按键将给出-3的偏移量。我遇到的问题是,如果用户想多次单击任一按钮。由于每次函数调用时偏移量都设置为0,因此我不能循环超过-3和3。

我该怎么办?我当前的AJAX代码如下:

function loadXMLDoc(int) {
    var xmlhttp;
    var offset = 0;
    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else {   
        // code for IE6, IE5
        xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById('tobooth').innerHTML = xmlhttp.responseText;
        }
    }
    if (int == 1) {
        offset -= 3;
    } else {
        offset +=3;
   }
    xmlhttp.open("GET","schedule_top.php?q="+offset, true);
    xmlhttp.send();
}

我不会直接回答你的问题,但我可以建议另一种方法。

您可以创建包含新偏移量的简单字段。或者您可以将偏移量直接存储在元素nextprev上,例如

<a href='#' id='0' class='goPrev'>Previous</a>

<a href='#' id='3' class='goNext'>Next</a>

默认偏移量为零。对于下一个按钮,偏移量将为3,对于上一个null(用户不能点击上一个按钮)。

当用户单击next按钮时,您将执行ajax请求并更新这两个字段。goNext字段的偏移量为6,而previous字段的偏移值为0。

当用户再次单击next按钮时,您将再次执行ajax请求并再次更新这两个字段。goNext字段的偏移量为9,而previous字段的偏移值为3。

Etc等

此外,您还可以将数据存储在隐藏输入中。

希望,这会有所帮助。

相关内容

  • 没有找到相关文章

最新更新