Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery调用get或post的速度很慢_Javascript_Php_Jquery - Fatal编程技术网

Javascript jquery调用get或post的速度很慢

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

这里有点像海森堡

这里有一个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>
我现在空了!
$(文档).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脚本进行一些评测