对PHP框架的多个Ajax请求 - php

我遇到了麻烦,就是我无法同时使用框架(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

PHP getallheaders替代 - php

我正在尝试从服务器上的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+…