两个Ajax调用无法同时工作(heroku) - php

我有以下代码:

$(window).load(function()
{
    $('#content1').load('database.php');
    setInterval (function() 
    { 
        $.post('status.php', { id: '1'}, function(responseText, responseStatus)
        { 
            $('#content2').html(responseText); 
        });  
    }, 5000);
});

基本上,我正在调用database.php进行一些数据库插入,并使用定期间隔来获取其进度状态。问题是在插入过程中,间隔帖子给了我请求超时错误。仅在database.php完成处理后,才会写入content2中的文本。

现在,我在status.php文件中使用了非常简单的代码,只是看是否可以在处理database.php时得到响应。这是代码(非常简单):

<?php
    echo "hello";
?>

我不知道为什么我收到超时错误而没有得到响应。如您所见,在statuse.php文件中,我没有使用任何会阻止调用的php会话变量。有趣的是,一旦数据库处理完成,我就会得到响应。也就是说,我得到的文字是“你好”。

参考方案

您可能正在使用会话。 PHP的默认基于文件的会话处理程序会在脚本处于活动状态时锁定该会话,因此从调用session_start()的那一刻起,就不能并行运行使用同一会话的其他脚本,因为这些其他脚本会阻塞并挂在session_start上()调用,直到第一个脚本完成。

如果希望“进度”检查调用成功,则必须在数据库脚本中执行session_write_close(),以便放弃会话锁,并且可以继续进行该会话的其他请求。

jQuery Ajax加载仅适用于单个单词变量 - php

在我的PHP文件中,我将一些变量从输入框传递到链接中,该链接通过jQuery的ajax load函数在其URL中使用该变量加载页面。整个系统运行良好,但仅适用于单字变量。每当涉及到空格时,我的Ajax通话都会中断。我假设这是一个编码问题,但是我也有一些疑问。基本上,它归结为我的PHP文件中的这一行代码,这导致了混乱。是否有可能找出格式是否正确,或者为什么在多…

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…