通过AJAX请求生成打印页面上的样式

时间:2017-12-18 14:53:43

标签: javascript php jquery ajax

我使用AJAX来简单生成,但我对样式有小问题。我找不到解决问题的方法。

我使用AJAX将请求发送到PHP文件中,这将返回HTML代码。我开始使用javascript并生成“打印页面”。如果页面没有样式 - 所有都是okey,但是当我尝试使用此方法添加样式时,脚本返回没有内容的白页。

$.post({
    type: "POST",
    url: "generate.php",
    data: {pid: pid},
}).done(function(data) {
    output = window.open('');
    output.document.write('<html><head><link rel="stylesheet" type="text/css" href="offer.css" /></head><body>');
    output.document.write(data + '</body></html>');
    output.print();
});

PHP代码就像这样

<?php
$foo = "foo";
ob_start();
?>

<p><?php echo $foo; ?></p>

<?php 

$result = ob_get_flush();
echo $result;

?>

1 个答案:

答案 0 :(得分:0)

如果在完全加载HTML文档后使用write(),则会删除所有现有的HTML。因此,对于多行,请尝试这样:

document.write(
   '<html><head><link rel="stylesheet" type="text/css" href="offer.css" /></head><body>'
   + data + '</body></html>'
)