Php 如何在每次单击时重置Ajax请求以提高性能?
index.php:Php 如何在每次单击时重置Ajax请求以提高性能?,php,jquery,ajax,Php,Jquery,Ajax,index.php: <div class="start">START</div> <div class="content"></div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="script.js"></sc
<div class="start">START</div>
<div class="content"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="script.js"></script>
script.js:
我通过Ajax加载一些数据,然后用json编码加载一个唯一的ID。它运行良好。唯一的问题是,每次单击“激发”时,唯一ID的加载都会越来越慢
加载时间大致是这样的
- 单击“FIRE”-->唯一ID的加载时间:0sek
- 单击“FIRE”-->加载唯一ID的时间:2sek
- 单击“FIRE”-->唯一ID的加载时间:4sek
- 点击“FIRE”-->加载唯一ID的时间:鼠标等待符号旋转的时间非常长
我用
$time\u start=microtime(true)测试了update2.php
代码>,$time\u end=microtime(真)代码>和$execution\u time=($time\u end-$time\u start)/60代码>
结果是:
- 单击“火灾”-->4.91499900818E-5
- 单击“火灾”-->5.54800033569E-5
- 单击“火灾”-->5.33978144328E-5
- 单击“火灾”-->5.43832778931E-5
您确定现在是ajax响应时间吗?你能用这样的方式来衡量update2.php的运行时间吗:@errad是的,我会检查这个我在本地服务器上检查了你的代码,每次需要1毫秒就调用ajax。你的代码在我的机器上运行得很好可能代码只是一组更大的函数的一个片段。看看这些讨论以及aristoteles和grayedFox的答案——由于javascript事件处理队列,响应可能会更快,但js仍在忙于做其他事情……你确定,这是ajax响应时间吗?你能用这样的方式来衡量update2.php的运行时间吗:@errad是的,我会检查这个我在本地服务器上检查了你的代码,每次需要1毫秒就调用ajax。你的代码在我的机器上运行得很好可能代码只是一组更大的函数的一个片段。看看这些讨论以及aristoteles和grayedFox的答案——由于javascript事件处理队列,响应可能会更快,但js仍在忙于做其他事情。。。
<div class="fire">FIRE<div>
<div class="result"></div>
$json = array(
'unique' => uniqid(),
);
echo json_encode($json);
$(document).off("click", ".start").on("click", ".start", function (event) {
$.ajax({
url: "update1.php",
data: {},
type: "POST",
success: function (data) {
$(".content").html(data);
}
})
});
$(document).off("click", ".fire").on("click", ".fire", function (event) {
$.ajax({
url: "update2.php",
type: "POST",
dataType: "json",
encode: true,
data: {},
success: function (data) {
$(".result").html(data.unique);
}
});
});