使用PHP调用ajax调用后端调用PHP函数

时间:2013-05-07 13:57:28

标签: php javascript ajax

我想从Ajax请求中调用PHP函数。这个PHP函数需要2到3分钟。执行用户可能不想等待2分钟。所以为此,我计划进行ajax调用并重定向到另一个页面,以便User可以接受另一个请求。直到我 -

new Ajax.Request(reloadurl, { 
 method: 'POST', 
 data: $('edit_form').serialize(),
 parameters: $('edit_form').serialize(true)                 
    onComplete: function(transport) {
        //alert(transport.responseText);
        window.location = backurl;  
    },
    onCreate : function () {    
        alert('dsdsdsds');
        window.location = backurl;                          
    },
    onFailure: function() { 
        alert('Something went wrong...');}
    });

但是它不起作用..请帮帮我 - 建议我这样我可以同时调用另一个ajax请求

2 个答案:

答案 0 :(得分:4)

最好的方法就是这样:

<?php 

exec('/usr/bin/php /Path/to/script.php  {$param1} {$param2} > /dev/null 2>/dev/null &'); 

?>

然后在script.php中你可以获得这样的参数:

print_r($argv); //print all parameters
echo $argv[0]; //first parameter

这会将php脚本作为单独的线程运行,而不需要用户等待输出。

我倾向于更新文件或数据库以跟踪脚本的运行情况。

答案 1 :(得分:0)

您的方法可行,但如果您使用会话,则应在不再写入时立即使用session_write_close()手动关闭。

  

...会话数据被锁定以防止并发写入,只有一个脚本可以随时对会话进行操作

相关问题