我的ajax代码是
function senddata()
{
var ajaxRequest; // The variable that makes Ajax possible!
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function()
{
if(ajaxRequest.readyState == 4)
{
document.getElementById("showdata").innerHTML=ajaxRequest.responseText;
}
}
ajaxRequest.open("GET", Handler.php?key=" + value, true);
ajaxRequest.send(null);
}
我有大量的数据通过ajax检索。现在,当我调用此函数时,显示数据需要很长时间。我想要的是,当数据被重新检索时,它应该显示在屏幕上。无需仅在获取所有内容时显示整个检索到的数据,而是在获取数据时显示数据。
答案 0 :(得分:1)
您希望以与实施分页系统相同的思维方式来处理此问题。
我无法看到您的Handler.php
代码,因此我们需要编辑内容,这可能会让事情变得困难。
Handler.php
接受limit
和offset
或page
查询var(s)limit
到10
和offset
到{{ 1}}。)将您的ajax请求功能化并使其成为分页:
0
当没有更多数据时,请确保function getdata(limit, offset)
{
limit = limit || 10;
offset = offset || 0;
var ajaxRequest; // The variable that makes Ajax possible!
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function()
{
if(ajaxRequest.readyState == 4)
{
document.getElementById("showdata").innerHTML=ajaxRequest.responseText;
// make Handler.php send 'end' when no results have been returned
if (ajaxRequest.responseText && ajaxRequest.responseText != 'end') {
getdata(limit, offset + limit);
}
}
}
ajaxRequest.open("GET", Handler.php?key=" + value + '&limit=' + limit +
'&offset=' + offset, true);
ajaxRequest.send(null);
}
getData();
发送Handler.php
。