【发布时间】:2017-01-22 10:23:16
【问题描述】:
我有以下代码,但它似乎无法正常工作。我不明白为什么。
JS
var updateBoard = function() {
$.ajax({
type: "POST",
url: "engine/main.php",
data: {codes: 2},
success: function(response) {
console.log(response);
}
});
setTimeout(updateBoard, 1000);
};
PHP
if(isset($_POST['codes'])) {
echo "test";
}
【问题讨论】:
-
所以调用 setTimeout(updateBoard, 1000);` 在更高级别。外部函数
-
有什么问题。你对上面的代码有什么期望?
-
@vijayP,我希望每秒在我的控制台中收到
test这个词。但我的代码没有给出任何输出。 -
A) 你最好使用成功处理程序设置下一个超时以避免重叠请求,以防一个请求花费 >1s。B) 你必须在它开始调用自己之前调用你的函数一次(除非你只是忘记添加此代码行)
-
@Smiranin - 不;递归 setTime 和 setInterval 有很大区别。在 setInterval 的情况下;我们每 1 秒发出一次请求,但不知道先前请求的响应是否已经返回。但在 setTimeout 的情况下;仅当先前的请求已完成时,我们才会发出下一个请求。所以最终我们减少了服务器的流量。
标签: javascript php jquery settimeout