位heisenbug在这里...jquery SLOW调用get或post
在这里有一个PHP/codeigniter应用程序。很确定控制器/型号等是健全的,没有错误。总得是一个客户端的问题...
非常简单的代码像这样的页面:
<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>
负载上述的“东西”,现在div有东西一格,加上链接后通过他们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重新加载结果。另外 - “Please wait”消息未显示。奇怪的是 - 当我抽出“document.ready()”函数时,重新加载页面,只需点击上面那个裸露/硬编码的分页链接,事情就会像预期的那样快速消失。
非常感谢您花时间阅读。
NEW INFO:
Xdebug的曲线显示任何不寻常 - 约1秒的功能呼叫返回给控制器/视图预期返回的内容。
Chrome的探查表明这一点 - 一个愚蠢的,不明原因的闲置:
的 “b.event.remove()” 的jQuery函数,要带6+秒的任何额外的洞察力?这似乎是问题?
你为什么在你的jQuery中使用php direktly?我的意思是,如果你使用ajax/jquery post ...你可以用json处理这个。不建议像你这样做这个! – Dwza
听起来像请求正在同步发送,但我不知道为什么会因为你使用'$ .get()'。这是什么版本的jQuery? –
@Dwza我用3个不同的PHP视图构建这个页面 - 包装器有我需要使用的整体“stuff”标识符。 – user3550402