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

问题描述 投票:-1回答:1

我使用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;

?>
javascript php jquery ajax
1个回答
0
投票

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

document.write(
   '<html><head><link rel="stylesheet" type="text/css" href="offer.css" /></head><body>'
   + data + '</body></html>'
)
© www.soinside.com 2019 - 2024. All rights reserved.