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