我对jQuery和AJAX很新。 我通过AJAX发送请求来检查文件' test'每5秒钟工作正常。 '测试'代表test.php文件。
<script>
$(document).ready(function () {
function load() {
var test = "<?php echo $test; ?>/";
$.ajax({ //create an ajax request to load_page.php
type: "GET",
url: test,
dataType: "html", //expect html to be returned
contentType: "text/html",
success: function (response) {
$("#responsecontainer").html(response);
setTimeout(load, 5000)
}
});
}
load(); //if you don't want the click
// $("#display").click(load); //if you want to start the display on click
});
</script>
<div id="responsecontainer"></div>
test.php的
$id = $this->session->userdata('UserID');
$get_friends_notification = $this->friends_model->get_friends_alert_by_ID($id);
if(isset($get_friends_notification) && !empty($get_friends_notification))
{
?>
<div id="test" style="width:200px; height:auto; border:1px solid red;">
<h3>Friend invitation from:</h3>
<?php
foreach($get_friends_notification as $key => $value)
{
$new_id = $get_friends_notification[$key] = $value["FrieInviter"];
$new_name = $get_friends_notification[$key] = $value["UserName"];
echo '<a href="'.base_url().'profile/get_user_data/'.$new_id.'">'.$new_name.'</a><br />';
}
?>
</div>
<?php
}
然后它只在div#responsecontainer中显示它也可以正常工作。
$("#responsecontainer").html(response);
在文件&#39; test&#39;我正在检查数据库是否有任何更新。 所以我从DB中提取信息并返回#responsecontainer。因为它每5秒运行一次,在它第一次运行之后,我想抓住我拉的最后一个ID,然后再次运行并将其保存在变量中,然后我想将该ID传递给&#39;测试&#39;或以不同方式处理。基本上我希望能够使用它。我怎么能这样做?
实施例: ajax检查test.php文件并找到5行。返回带有5个ID的这5行。最后一个ID是数字5.在此期间,还插入了一些其他行,以便下次找到更多行。 在再次检查之前,我想告诉它不要检查ID 1,2,3,4,5但是从ID 6开始。
此方法如何与数据库连接一起使用?假设我有500个用户,并且在他们所有的配置文件中,检查会每5秒运行一次就不会杀死数据库连接吗?
答案 0 :(得分:0)
基本上你需要在这里添加一个分页效果。例如,在ajax请求中传递参数:如果一次获得5条记录,
然后初始化变量说
current_page = 0
,通过ajax
var current_page=0;
function load() {
var test = "<?php echo $test; ?>/";
$.ajax({ //create an ajax request to load_page.php
type: "GET",
url: test,
data : current_page
dataType: "html", //expect html to be returned
contentType: "text/html",
success: function (response) {
if(response.length!==0){
$("#responsecontainer").html(response);
current_page+=1;
}
setTimeout(load, 5000)
}
});
}
在php页面中进行必要的更改(希望你知道如何完成分页)。