duanmeng1950 2013-05-07 13:57
浏览 85


I want to call a PHP function from Ajax request. This PHP function will take more than 2 to 3 Min. to execute And user may not want to wait for 2 min. So for this I am planing to make ajax call and redirect to another page so that User can take another request. Till I did -

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

But Its not working.. Please help me out- Suggest me the way so that I can call another ajax request simultaneously

  • 写回答

2条回答 默认 最新

  • douyuan4357 2013-05-07 14:01

    The best way to do that is like this:

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

    And then in script.php you can get the parameters like this:

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

    This will run the php script as a separate thread and not require the user to wait for the output.

    I tend to update a file or db to keep track of how the running of the script is going.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
  • dongpiao0731 2013-05-07 14:21

    Your approach could work, but if you use sessions, you should close manually with session_write_close() as soon as you won't write to it any more.

    ... session data is locked to prevent concurrent writes only one script may operate on a session at any time




  • ¥15 cuda.jit加速报错
  • ¥15 Octave 安装工具箱出错 Only Win32 target is supported!
  • ¥15 Unity Animation Rigging使用问题
  • ¥15 mbedtls握手返回-7200
  • ¥30 c++ http服务器
  • ¥15 express连接mssql,每条额外附加了语句
  • ¥20 IQOO12如何有效ADB方法
  • ¥15 ios如何获取用户的订阅情况
  • ¥15 复杂表达式求值程序里的函数优先级问题
  • ¥15 求密码学的客成社记ji着用