我遇到了麻烦,就是我无法同时使用框架(Symfony)请求2个ajax
这是我的代码:
jQuery的:
function doAjax1()
{
$.ajax({
url: "server1.php",
type: "POST",
data: {
id: 1,
},
success: function(){
},
});
}
function doAjax()
{
$.ajax({
url: "server.php",
type: "POST",
data: {
id: 1,
},
success: function(){
},
});
}
PHP服务器:
sleep(10);
echo "Done 10s";
PHP Server1:
sleep(1);
echo "Done 1s";
首先,我呼叫doAjax()
,然后呼叫doAjax1()
。
没有任何框架,doAjax1()
大约需要1s,而doAjax()
大约需要10s,这正是我想要的。
但是使用symfony 1.4框架,doAjax1()大约需要11s,而doAjax()大约需要10s,看来doAjax()
完成了,doAjax1()
稍后再调用。
我有安全的解决方案吗?
谢谢。
参考方案
以下是Symfony2的示例,但问题相同,解决方案也相同。
这可能与Symfony对控制器操作进行操作的会话锁有关。它在这里很好地描述:
http://blog.alterphp.com/2012/08/how-to-deal-with-asynchronous-request.html
http://garethmccumskey.blogspot.fr/2009/10/php-session-write-locking-and-how-to.html
诀窍是:如果您在执行操作期间无需在会话中编写会话,请尽早释放会话锁定!
这是2个相关的问题:
How do I kill a session in Symfony2?
Concurrent operation using AJAX in Symfony2
我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…
PHP Count数组元素 - php嗨,有人可以解释为什么这会返回“数组由0个元素组成”。 :$arr = array(1,3,5); $count = count($arr); if ($count = 0) { echo "An array is empty."; } else { echo "An array has $count elements.…
AJAX实时电子邮件验证(PHP) - php当用户在我的网站上创建帐户时,我希望对照我的数据库(MySQL)中的所有当前用户名检查输入的用户名,并确认是否可用。有谁知道我可以使用的任何好的库,或者是jQuery的插件? 参考方案 所需的确切信息以示例形式here给出。它使用jQuery作为JavaScript库
PHP:从函数返回值并直接回显它? - php这可能是一个愚蠢的问题,但是……的PHPfunction get_info() { $something = "test"; return $something; } html<div class="test"><?php echo get_info(); ?></div> 有没有办…
php Singleton类实例将在多个会话中保留吗? - php举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…