繁体   English   中英

尝试一次连续显示多个php文件

[英]Trying to display multiple php files at once, in a row

我目前有一个页面,显示要打印的发票。 我想创建一个页面,在其中可以输入多张发票,以便可以打印多张发票。 当然,我可以复制代码并将其循环到新文件中,但是我认为仅调用其他页面并将它们组合在页面上可能会更容易。 我看到了一些与此类似的代码,并试图对其进行修改,但是在控制台中却不断出现错误:

Uncaught SyntaxError:意外的令牌非法

也许有一种方法只能在php中做到这一点?

我将发票数组发布到此php文件:

<?php
$invoiceList = $_POST["invoiceRequest"];
$invoices = explode("\n", $invoiceList);
echo '<html>';
    echo '</head>';
        echo '<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>';
        echo '<script type="text/javascript">';
        echo '$(document).ready(function(){';
            foreach($invoices as $page) {
                echo "$.get('ajax/invoices/invoicePrint.php?invoiceId=".$page."').success(function(html) {
                    $('#page".$page."').html(html);
                });";
            }
        echo '});';
        echo '</script>';
    echo '</head>';
    echo '<body>';
        foreach($invoices as $page) {
            echo '<div id = "page'.$page.'"></div>';
        }
    echo '</body>';
echo '</html>';
?>

\\n exploding后的数据可能会在数组值中留下一些多余的字符(例如\\r ,它们也会被解释为新行,并导致Unexpected token ILLEGAL错误)。 为了回答这个特定问题,我建议您trim()值。

您还可以通过使代码更短,更清晰来改善实际代码。

<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $(".invoice").each(function(){
                    $(this).load("ajax/invoices/invoicePrint.php?invoiceId="+$(this).data('invoiceid'));
                });
            });
        </script>
    </head>
    <body>
    <?php foreach(explode("\n", $_POST["invoiceRequest"]) as $page): ?>
        <div data-invoiceid="<?php echo trim($page); ?>" class="invoice"></div>
    <?php endforeach; ?>
    </body>
</html>

您可以使用cURL而不是ajax来获取文档http://php.net/manual/zh/book.curl.php

另一种选择是仅使用file_get内容

http://php.net/manual/en/function.file-get-contents.php

回声file_get_contents('ajax / invoices / invoicePrint.php?invoiceId ='。$ page);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM