AJAX调用使用了我所有的web主机的内存和I/O
AJAX calls are using all my webhost's memory and I/O
我正在尝试运行一些正在敲打我的虚拟主机的内存和I/O使用的代码。我不确定如何清理或修复这些代码,因为这是我第一次尝试使用AJAX技术。
JS只需要返回它每20秒调用的PHP脚本的值,并将其显示在一个空的<div>
标记中。我是AJAX的新手,我不确定我的问题在哪里以及如何解决它。
这是我的Javascript:
<script type="text/javascript">
$(document).ready(function() {
function update() {
$.ajax({
type: 'POST',
url: 'time_hash.php',
dataType: 'text',
timeout: 20000,
success: function(data) {
$(".dispKey").html(data);
setInterval(update, 20000);
}
});// End ajax call
}// End function update()
update();
});
</script>
我的PHP脚本叫做:
// Modify the server time to round down to the nearest 20 seconds
$modTime = (time() - (time() % 20));
// Create one-way hash from modified time
$hashToken = md5($modTime);
// Truncate hash to the first 6 characters
$dispToken = strtoupper(substr($hashToken, 0, 6));
// Display the 'generated key' -- uppercase.
echo $dispToken;
你在你的成功回调中创建了一个间隔,所以每次你的成功函数运行时,你都在创建一个新的间隔,而不是你已经拥有的那个,以此类推,所以你最终得到了无限的间隔。
尝试在ajax调用之外创建间隔
function update() {
$.ajax({
type: 'POST',
url: 'time_hash.php',
dataType: 'text',
timeout: 20000,
success: function(data) {
$(".dispKey").html(data);
}
});// End ajax call
}// End function update()
setInterval(update, 20000);
尝试将"setInterval(update, 20000);"从success移开。这应该有帮助。
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- chrome扩展更改主机/域警告
- 在Web应用程序中使用Highcharts javascript
- WebDriverException:tinyMCE未在selenium Web driver java中定义
- Selenium Web驱动程序和javascript
- Windows形成web浏览器控件和Javascript更改的DOM
- 如何将javascript事件从web浏览器wpf控件发送到wpf的c#代码
- Steam Web API:I'我不知道该如何处理这个看起来像哈希的url来生成图像
- 在调用speak之前预加载Web Speech API
- jQuery插件在本地主机上运行良好,但在web服务器上却与bg镜像混淆
- 是否可以在没有 .NET 4.5 主机的情况下使用当前 Web 套接字
- Jquery 版本冲突 Web 主机
- 如何在Linux Web服务器共享主机上运行Delphi应用程序
- 网页在Web主机上崩溃,但在本地主机上没有
- Web服务和Javascript请求位于同一本地主机端口上
- 用javascript从本地主机web服务中保存json数据
- AJAX调用使用了我所有的web主机的内存和I/O
- 为什么我的AJAX调用前缀web主机的url
- 指定多站点web服务器和本地主机上的相对路径
- 将Angular2应用程序的必要依赖项上传到web主机中