我们有以下jquery从后端.php脚本中获取数据。一切正常。需要帮助的是如何在没有按下按钮的情况下执行此操作但是每隔30秒或1分钟间隔执行同样的操作.Below是我们当前的脚本吗?
<script>
$(document).ready(function() {
$("#searchBtn").click(function(){
$(this).attr('src', 'images/searching.png');
var data = $(this).val();
var dateFrom=document.getElementById("beginDate").value;
dateFromArray=dateFrom.split("/");
var myDateFrom=new Date(dateFromArray[2],dateFromArray[1],dateFromArray[0]);
var dateTo=document.getElementById("endDate").value;
dateToArray=dateTo.split("/");
var myDateTo=new Date(dateToArray[2],dateToArray[1],dateToArray[0]);
mysqlDateFrom=dateFromArray[2]+"-"+dateFromArray[1]+"-"+dateFromArray[0];
mysqlDateTo=dateToArray[2]+"-"+dateToArray[1]+"-"+dateToArray[0];
$.post('getBK.php', {b: mysqlDateFrom,e: mysqlDateTo}, function(data){
$("#searchBtn").attr('src', 'images/search.png');
$('#dbData').html(data);
}
);
}
);
}
);
</script>
答案 0 :(得分:2)
<script>
$(document).ready(function() {
function myfunc(){
$("#searchBtn").attr('src', 'images/searching.png');
var data = $("#searchBtn").val();
var dateFrom=document.getElementById("beginDate").value;
dateFromArray=dateFrom.split("/");
var myDateFrom=new Date(dateFromArray[2],dateFromArray[1],dateFromArray[0]);
var dateTo=document.getElementById("endDate").value;
dateToArray=dateTo.split("/");
var myDateTo=new Date(dateToArray[2],dateToArray[1],dateToArray[0]);
mysqlDateFrom=dateFromArray[2]+"-"+dateFromArray[1]+"-"+dateFromArray[0];
mysqlDateTo=dateToArray[2]+"-"+dateToArray[1]+"-"+dateToArray[0];
$.post('getBK.php', {b: mysqlDateFrom,e: mysqlDateTo}, function(data){
$("#searchBtn").attr('src', 'images/search.png');
$('#dbData').html(data);
}
);
}
myfunc();
setInterval( function(){ myfunc(); } , 30000 );
});
</script>
答案 1 :(得分:2)
使用setInterval()
$(function(){
// set interval
var tid = setInterval(mycode, 30000);
function mycode() {
// place your button click logic over here
}
function abortTimer() { // to be called when you want to stop the timer
clearInterval(tid);
}
});
答案 2 :(得分:1)
要在加载DOM时自动运行POST到PHP,请使用setInterval()
函数,如下所示:
$(document).ready(function() {
setInterval(function() {
// Do something every 30 seconds
$.post('getBK.php', {b: mysqlDateFrom,e: mysqlDateTo}, function(data){
$("#searchBtn").attr('src', 'images/search.png');
$('#dbData').html(data);
}
);
}, 30000);
);
注意:setInterval()
的第二个值是间隔的时间(以毫秒为单位(因此30000表示30秒或60000表示1分钟)。