我有一个页面显示接受参加活动的人以及有关他们的一些详细信息。这些人通过填写表格来接受,然后将其提交到数据库。我的页面基本上向它发出 AJAX 请求并获取所有相关数据,然后将它们整理成可读的布局。
我正在尝试为查看此页面的人添加选项以设置刷新率 - 即每次重新发出 AJAX 请求之前的时间。例如,可以选择 30 秒,因此页面每经过 30 秒就会发出另一个 AJAX 请求并覆盖旧数据......
我所做的是有一些选择(60 秒、120 秒等)的下拉框。当该部分加载包含 AJAX 调用的 javascript 时,从保管箱中获取值并将其用作 setInterval 函数中的参数,如下所示
recurring = setInterval(function() {
getSchedule(dateText.trim());
},
$('input[type=hidden]#rr').val());
但请求是不停的。起初我认为问题可能是当预期的参数应该是数字时,JQuery 选择的结果是字符串,所以我尝试了
recurring = setInterval(function() {
getSchedule(dateText.trim());
},
parseInt($('input[type=hidden]#rr').val(),10));
但仍然没有。我不知道这是否意味着什么,但在测试这段代码时(当我试图查看值是什么类型时)
var interval = parseInt( $('input[type=hidden]#rr').val() , 10 );
alert( typeof ( interval ) + ' -- ' + interval );
警报框写道
数字——NaN
有什么想法吗?
好的,这是显示 html 代码的编辑
<div class='fields'>
<input type='hidden' name='rr' id='rr' value='<?php if ( $_SESSION['rr'] != 0 ) echo $_SESSION['rr']*1000; else echo 86400000; ?>'/>
<div style='float:left; padding-top:5px;'>
<b><i>TIME</i></b>
</div>
</div>
<div id='schedule' style='overflow:auto;'>
</div>
这是显示数据的部分。AJAX 结果进入 schedule div 并且是更新的。隐藏字段包含间隔的毫秒数,是我使用 JQuery 获得它的地方。它存储在数据库中,当加载此页面时,与数据库进行一些通信并从那里获取它并将其保存在会话数组中