Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 尝试使用JavaScript每3分钟调用一个函数_Php_Javascript_Ajax Polling - Fatal编程技术网

Php 尝试使用JavaScript每3分钟调用一个函数

Php 尝试使用JavaScript每3分钟调用一个函数,php,javascript,ajax-polling,Php,Javascript,Ajax Polling,我有一个函数,它返回一个整数(社区站点上用户的当前声誉分数)。这一数字经常根据他们的评论和意见的投票方式而上升或下降。我想每隔30秒左右“轮询”一次,看看是否有更改,如果有,更新我显示的号码 在另一个StackOverflow线程中,我发现这个JavaScript片段看起来很有用: function listen() { $.get("/mylongrequestfile", {}, function(data) { $("#mydiv").html(data); lis

我有一个函数,它返回一个整数(社区站点上用户的当前声誉分数)。这一数字经常根据他们的评论和意见的投票方式而上升或下降。我想每隔30秒左右“轮询”一次,看看是否有更改,如果有,更新我显示的号码

在另一个StackOverflow线程中,我发现这个JavaScript片段看起来很有用:

function listen() {
  $.get("/mylongrequestfile", {}, function(data) {
     $("#mydiv").html(data);
     listen(); // then launch again
  }));
};
我是否用我的函数替换/mylongrequestfile?我正在尝试,但效果不太好。如何使用此代码或其他代码片段每隔30秒获取并显示此值?

您可以使用

哪个

重复调用函数,每次调用该函数之间有固定的时间延迟

var intervalID = window.setInterval(yourfunctionname, 300);
这将以300毫秒的延迟执行

回调参数

setInterval()将回调调用到回调函数中的延迟毫秒数传递给回调函数,如果回调函数需要其他参数,则可能会混淆回调函数。要避免这个问题,请使用匿名函数调用回调函数

如果需要将参数传递给回调函数,但需要它在Internet Explorer中工作,而Internet Explorer不支持使用setInterval()发送其他参数,则可以使用相同的技术

你可以用

哪个

重复调用函数,每次调用该函数之间有固定的时间延迟

var intervalID = window.setInterval(yourfunctionname, 300);
这将以300毫秒的延迟执行

回调参数

setInterval()将回调调用到回调函数中的延迟毫秒数传递给回调函数,如果回调函数需要其他参数,则可能会混淆回调函数。要避免这个问题,请使用匿名函数调用回调函数

如果需要将参数传递给回调函数,但需要它在Internet Explorer中工作,而Internet Explorer不支持使用setInterval()发送其他参数,则可以使用相同的技术


我如何处理前面的“var”?现在我正在使用它,听起来我可以使用它吗?var用于javascript中的变量声明。为了避免任何人依赖它,值得一提的是,“lateness”参数仅在Mozilla上受支持(实际上是90年代Netscape浏览器遗留下来的),而且,随着时间的推移,价值观往往会偏离现实。看看Brendan Eich在哪里说是时候摆脱它了,在哪里进行了更详细的讨论,并提到了该值的潜在不精确性。最重要的是,不要使用它:-)我如何处理前面的“var”?现在我正在使用它,听起来我可以使用它吗?var用于javascript中的变量声明。为了避免任何人依赖它,值得一提的是,“lateness”参数仅在Mozilla上受支持(实际上是90年代Netscape浏览器遗留下来的),而且,随着时间的推移,价值观往往会偏离现实。看看Brendan Eich在哪里说是时候摆脱它了,在哪里进行了更详细的讨论,并提到了该值的潜在不精确性。最重要的是,不要使用它:-)
var listener = function () {
$.get("http://www.domain.tld/script/", {}, function(data) {
    $("#mydiv").html(data);
}));
};

var interval = setInterval(listener, 30000);