Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关闭浏览器后,来自Ajax的php脚本停止加载_Php_Jquery_Ajax - Fatal编程技术网

关闭浏览器后,来自Ajax的php脚本停止加载

关闭浏览器后,来自Ajax的php脚本停止加载,php,jquery,ajax,Php,Jquery,Ajax,我正在做的一个网站根据客户的输入构建了一个pdf,我已经决定一旦购买完成,就开始生成pdf。原因是pdf可能达到了tp 50/60MB,我不希望客户端必须等待这一点才能完成 我使用Opencart,在checkout success页面上有一个Ajax命令加载一个PHP脚本 我的印象是,一旦脚本启动,用户就可以关闭页面,但出于某种原因,我发现如果我希望文件出现在服务器上,我必须等待5/10秒才能关闭 调试有点困难,因为测试需要立即关闭浏览器 这是我的Ajax $(document).ready(

我正在做的一个网站根据客户的输入构建了一个pdf,我已经决定一旦购买完成,就开始生成pdf。原因是pdf可能达到了tp 50/60MB,我不希望客户端必须等待这一点才能完成

我使用Opencart,在checkout success页面上有一个Ajax命令加载一个PHP脚本

我的印象是,一旦脚本启动,用户就可以关闭页面,但出于某种原因,我发现如果我希望文件出现在服务器上,我必须等待5/10秒才能关闭

调试有点困难,因为测试需要立即关闭浏览器

这是我的Ajax

$(document).ready(function() {  

    $.ajax({
        url: 'index.php?route=pdfengine/pdfengine/generate_final_pdf',
        type: 'post',
        dataType: 'json',
        data: {     
        },
        beforeSend: function() {},
        complete: function() {},
        success: function(json) {}
        });
    });
我的php目前正在加载巨大的图像来表示加载时间

 public function generate_final_pdf() {

    include('convert-to-pdf/mpdf.php');

    $mpdf=new mPDF();


    $stylesheet = file_get_contents(DIR_APPLICATION.'view/theme/rascal/stylesheet/stylesheet.css');
    $mpdf->WriteHTML($stylesheet,1);
    $mpdf->WriteHTML('<html><body><div class="pdf-test-style"><img src="http://example.com/top_quality_image.jpg" />test</div><pagebreak><img src="http://example.com/top_quality_image2.jpg" />test<pagebreak><img src="http://example.com/top_quality_image3.jpg" />test</body></html>',2);           

    $mpdf->Output(DIR_FINAL_PDFS.'order_idpdfid-'.$this->session->data['pdf_id'].'.pdf','F');


 }
在ajax调用的函数Ive set中

ini_set('ignore_user_abort',true);   
set_time_limit(0);

对于第一个,我运行了phpinfo,它确实向我确认了ignore\u user\u abort处于启用状态,这显然意味着该部分不是问题。

用于在用户关闭页面时保持脚本运行。

围绕主题进行一些轻松的睡前阅读:这篇文章可能也很有用/信息丰富:这取决于您的设置。此[主题][1]可能会有所帮助。[1] :谢谢这些链接,它们很有意义。我对这个问题进行了编辑,包括我从这些链接中学到了什么,我想知道还有什么会导致脚本在窗口关闭后无法继续运行的问题吗?谢谢,不幸的是它不起作用,但我认为这是一个托管问题,当我运行phpinfo时,它会显示ignore\u user\u abort Off
ini_set('ignore_user_abort',true);   
set_time_limit(0);