在我的项目(带有Symfony 2 的PHP)中,我在每个页面中都做了很多Ajax请求。我遇到了很多问题,因为看起来浏览器(在Google Chrome和Firefox中测试)正在中止请求而没有给我一个错误。我已经做了一个干净的页面来测试可能导致此问题的原因并且错误仍然存在。我已经尝试在一个循环中执行 10 个请求的测试(我相信我们没有任何问题,对吧?)。for
这是我的代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test page</title>
</head>
<body>Test page.
<script type="text/javascript" src="/js/compressed_jquery-1.8.2.min_1.js"></script>
<script type="text/javascript">
$(document).ready(function() {
for (var i = 0; i < 10; i++) {
$.get('/i18n/javaScript/pt.json', function(data) {
console.log(data);
});
}
});
</script>
</body>
</html>
这是Firebug中请求结果的屏幕截图:
如您所见,有些请求已完成,有些则未完成。有时浏览器会完成所有 10 个请求而不会出错。这可能是什么原因造成的?
我已经测试了所有解决方案,但我很确定这是 Windows、Apache 或 PHP 配置问题。今天我在我的机器上配置了一个虚拟机, VirtualBox运行Ubuntu 13.04 (Raring Ringtail) 和 Apache 2.2 + PHP,并且没有发生错误,证明这与我的JavaScript、HTML或 PHP 代码无关。我不确定这是配置问题。如何发现此配置?