首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JS函数应该每4秒发送一次数据,但只发送1次。

JS函数应该每4秒发送一次数据,但只发送1次。
EN

Stack Overflow用户
提问于 2015-05-09 01:22:20
回答 3查看 36关注 0票数 0

通过JS,我每4秒运行一个函数。该函数使用online从调用的handler.phphandler.php发送一些数据。

在第一次加载时,将创建行。但我认为每隔4秒就应该插入新的一行。难道不应该这么做吗?

我漏掉了什么?

代码语言:javascript
运行
复制
setTimeout ( "iAmHere()", 5000 );
function iAmHere() {
requestServerCall("http://domain.com/handler.php?type=active&callback=Response&cookie="+ hash +"");
setTimeout ( "iAmHere()", 4000 );
}

handler.php

代码语言:javascript
运行
复制
if ($_GET["type"] == 'active') {
mysql_query("INSERT into `active` (`hash`) values ('$hash')");
}

Update:我第一次等待5秒来运行它是因为我等待hash变量。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-09 01:34:31

您可以使用setInterval

代码语言:javascript
运行
复制
setInterval(iAmHere, 5000);

function iAmHere() {
    requestServerCall("http://domain.com/handler.php?type=active&callback=Response&cookie="+ hash +"");
}

编辑:

如果你不在其他地方使用iAmHere(),你可以像这样把它们放在一起:

代码语言:javascript
运行
复制
setInterval(function() {
    requestServerCall("http://domain.com/handler.php?type=active&callback=Response&cookie="+ hash +"");
}, 5000);
票数 0
EN

Stack Overflow用户

发布于 2015-05-09 01:32:04

不要使用嵌套的setTimeout语句,这是导致堆栈大小错误的原因。使用setInterval()方法。

代码语言:javascript
运行
复制
function foo(){
.....
}
setInterval(foo, 4000);
票数 1
EN

Stack Overflow用户

发布于 2015-05-09 01:23:48

试试setInterval ( iAmHere,5000 );

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30134978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档