0

背景

我有一个正在更新的应用程序。在其他页面上,我使用链接运行 php 脚本并返回 aheader("Content-type: application/vnd.ms-word");以将文档打印到 MS Word。通常,这些链接动态地生成内容。在我当前的实现场景中,我尝试使用 jQuery 函数来显示内容,然后让文档使用 JSON 将信息返回到当前页面。我试图实现的一般过程是1) user clicks link, 2) generate the letter and then 3) return a message to the original page with something similar to 'success'. 我的 AJAX/JSON 函数可以正常工作,但是我收到了一个PHP Warning: Cannot modify header information - headers already sent by (output...并且我的链接不起作用。有人可以帮助指导我如何在 PHP 脚本中动态组合两种标头类型吗?

代码实现

<?php
$query_letters = "....";
try {
    $letters = $customer->runQuery($query_letters);
    header("Content-type: application/vnd.ms-word");
    foreach($letters as $letter) {
    $filename = "Letter_". $letter['id'].".doc";
    header("Content-Disposition: attachment;Filename=" . $filename);
    echo $letters[0]['letter'];}
  } catch (Exception $e) {echo "Error: " . $e->getMessage();}

$message=array('message' => "Congratulations!",'link' => $type);

header('Content-Type: application/json');
print json_encode($message); 
?>

编辑

我在考虑可能使用 javascript 调用 iframe 来运行 php 代码,理论上这也会得到最终结果。需要指出的是,为了实现我的目标,我不一定需要使用 ajax 来运行我的 php 脚本。我只需要create a link which prints a ms-word document on the fly

4

0 回答 0