Javascript 从JQuery内部调用PHP函数文件\u put\u内容

Javascript 从JQuery内部调用PHP函数文件\u put\u内容,javascript,php,jquery,Javascript,Php,Jquery,我在JQuery中有一个函数,当满足条件时调用PHP函数。一切顺利,直到我能把内容归档。似乎必须抛出JQuery不知道如何解释的某种输出。这是我的密码: JQuery部分,其中$downloader是类实例,finishedDownload是javascript变量: if (finishedDownloading==<?php echo $downloader->_totalFiles ?>){ <?php $downloader->MergePDFs(

我在JQuery中有一个函数,当满足条件时调用PHP函数。一切顺利,直到我能把内容归档。似乎必须抛出JQuery不知道如何解释的某种输出。这是我的密码:

JQuery部分,其中$downloader是类实例,finishedDownload是javascript变量:

if (finishedDownloading==<?php echo $downloader->_totalFiles ?>){

    <?php $downloader->MergePDFs(); ?>

}
如果我对文件内容行进行注释,一切都会顺利进行

如果我取消注释,当我运行代码时,我会得到一个疯狂的错误“uncaughtreferenceerror”,说明我的JQuery函数没有定义

谁能告诉我发生了什么事

多谢各位

编辑:我认为file\u put\u内容返回了一些JQuery不知道如何处理的值


编辑2:这无法完成,即使我能够消除jquery错误,函数在页面加载时执行,没有考虑jquery部分中的if语句,也不应该通过将PHP函数包含在javascript代码中来调用它们。在您的示例中,PHP代码无论如何都会被处理,除非jQuery部分的if条件满足或不满足

对于jQuery,请尝试类似的方法:

if (finishedDownloading==<?php echo $downloader->_totalFiles ?>){
    $.get('mergepdf.php');
}
if(finishedDownload==){
$.get('mergepdf.php');
}
和mergepdf.php类似于您的代码:

<?php
function MergePDFs()
{

    $combinedFiles = "";

    foreach ($this->_fileNamesArray as $filename) {
        $combinedFiles .= file_get_contents($filename); //these are the urls of my files
    }


    echo "document.getElementById('test-if-finished').innerHTML = 'Test output: " . $this->_file . "'"; // this is for testing and works fine

    file_put_contents("all-files.pdf",
        $combinedFiles);
    ...
}

MergePDFs();

我没有看到任何ajax最好在找到工作之前开始学习javascript编程ajax会评估下载进度,但与函数无关。ajax在ivascu中运行良好,这不是一个非常有建设性的答案您不能从javascript函数调用php函数,也不能从classI中调用MergePdfs。我需要从classI中调用$\u fileNamesArray。有什么方法可以防止文件内容返回布尔值?我标记为已解决,我最终使用了您的方法。非常感谢。
<?php
function MergePDFs()
{

    $combinedFiles = "";

    foreach ($this->_fileNamesArray as $filename) {
        $combinedFiles .= file_get_contents($filename); //these are the urls of my files
    }


    echo "document.getElementById('test-if-finished').innerHTML = 'Test output: " . $this->_file . "'"; // this is for testing and works fine

    file_put_contents("all-files.pdf",
        $combinedFiles);
    ...
}

MergePDFs();