Javascript jquery调用get或post的速度很慢
这里有点像海森堡 这里有一个PHP/codeigniter应用程序。非常确定控制器/模型等完好且无缺陷。一定是客户端的问题 非常简单的代码,如页面中的以下代码:Javascript jquery调用get或post的速度很慢,javascript,php,jquery,Javascript,Php,Jquery,这里有点像海森堡 这里有一个PHP/codeigniter应用程序。非常确定控制器/模型等完好且无缺陷。一定是客户端的问题 非常简单的代码,如页面中的以下代码: <div id="stuff">I'm empty now!</div> <script language="javascript"> $(document).ready(function(){ var stuffID = <?=$id?>; $.post('/event
<div id="stuff">I'm empty now!</div>
<script language="javascript">
$(document).ready(function(){
var stuffID = <?=$id?>;
$.post('/event/viewStuff/'+stuffID,
function(response) {
$('#stuff').html(response);
}
);
});
</script>
我现在空了!
$(文档).ready(函数(){
var stuffID=;
$.post('/event/viewStuff/'+stuffID,
功能(响应){
$('#stuff').html(回复);
}
);
});
加载上述内容后,“stuff”div现在有了一个stuff网格,加上每次10页的链接,如下所示:
<a href="#" onclick="$('#stuff').html('Wait please...'); $.get('http://localhost/event/viewInvitees/22/30', function(response) {$('#stuff').html(response); }); return false">Next Page</a>
但每次我点击这些链接,页面就会冻结4-5秒,做我不知道的事情——没有网络活动,什么都没有。然后“stuff”div重新加载结果。另外-未显示“请稍候”消息。奇怪的是——当我猛拉“document.ready()”函数,重新加载页面,只需点击上面这样一个裸的/硬编码的分页链接,事情就会像预期的那样迅速发生
非常感谢您抽出时间阅读
新信息:
xdebug概要文件没有显示任何异常-大约1秒的函数调用返回控制器/视图,以按预期返回内容
Chrome profiler显示了这一点-一个愚蠢的、无法解释的空闲:
关于“b.event.remove()”jquery函数的任何额外细节需要6秒以上的时间吗?这似乎就是问题所在?尝试使用
127.0.0.1
而不是localhost
在mysql中,PDO是这样的,它会牺牲性能。。。所以只需测试它。修复了它-但不了解根本原因: 如上所述,每次我点击“下一页”链接时都会有很大的延迟 Javascript评测证明jquery 1.9.1在b.event.remove()上挂起了约6秒。不知道为什么。我心里想:“嗯……也许我触发了一些效率奇低的拆卸功能。那#stuff div相当大(很多子表单等)。” 因此,我首先尝试通过将此命令添加到链接单击代码中来清除它:
$('#stuff').html('');
没有骰子。然后我试着:
$('#stuff').empty();
同样的交易——花费的时间更长
然后我在百灵鸟上尝试了非jquery方法:
document.getElementById('stuff').innerHTML = '';
成功了!其余的点击代码立即执行-不再延迟
问题是为什么
谢谢大家 为什么在jquery中直接使用php?我的意思是,如果您使用ajax/jquery post。。。您可以使用json处理这个问题。不建议像你这样做!听起来请求是同步发送的,但我不知道为什么会这样,因为您使用的是
$.get()
。这是什么版本的jQuery?@Dwza我正在用3个不同的PHP视图构建这个页面-包装器有我需要使用的全部“东西”标识符。@cookie monster可能是-不知道为什么。使用版本1.10.1。还使用.post()进行了测试-相同的奇怪行为。对php和jQuery脚本进行一些评测