请教jquery运行后统计时间的一个问题

bullB 2009-12-17 10:37:48
现在要做的工作是,$.get后,eval(data),然后计算整个过程使用的时间。
$("#XiuGaiJiFenBiaoZhun").change(
function()
{
var timeStart = new Date();
//if ($("#XiuGaiJiFenBiaoZhun").val()!="")
{
$.get("XiuGaiJiFenBiaoZhun.php", {"XiuGaiJiFenBiaoZhun":$("#XiuGaiJiFenBiaoZhun").val(), "XiuGaiJiFenXiangMu":$("#XiuGaiJiFenXiangMu").val()}, function(data){eval(data);});
}
if ($("#XiuGaiJiFenBiaoZhun").val() == "")
{
$.get("XiuGaiJiFenXiangMu.php", {"XiuGaiJiFenXiangMu":"", "XiuGaiJiFenBiaoZhun":""}, function(data){eval(data);});
}
var timeEnd = new Date();
var timeDiff = timeEnd - timeStart;
alert(timeDiff);
}
);

原来的代码是这样的,使用这种方法可能不对是吧?因为alert出来的数据大多是0,有少部分是16(ms)。并且是alert后,页面的内容才改变(alert后,才eval(data))。
请问这种情况下,用什么方法才能准确地计算$.get+eval(data)所使用的时间?

谢谢
...全文
79 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zengtan1021 2009-12-17
  • 打赏
  • 举报
回复
木有问题. eval又不是异步的. 0ms可能是你抓到缓存了. 你只用firebug就可以看到异步花掉的时间了.
bullB 2009-12-17
  • 打赏
  • 举报
回复
现在这样做
eval(data);改为下面的函数
evalNew(data, 这个参数为原来的时间)
{
eval(data);
var timeEnd = new Date();
var timeDiff = timeEnd - 原来的时间;
alert(timeDiff);
}
这个准确不准确?
bullB 2009-12-17
  • 打赏
  • 举报
回复
用firebug看确实不错

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧