gpt4 book ai didi

php - 如何在javascript中嵌入php脚本?

转载 作者:行者123 更新时间:2023-11-28 04:04:10 25 4
gpt4 key购买 nike

我想知道我是否可以在javascript 中包含php 脚本[1]html [2] 中也可以这样做

server.php:
<?php
echo 'hello World';
?>

client.js(或 client.php,如有必要):

function foo() {
var i = <?php include('server.php'); ?>
console.log( i );
}

如果可以做到,并且必须使用 client.php 代替,我将非常感谢使用 index.html/index.php 的最小示例,因为我想看看如何包含 client ,因为它是一个 php 文件而不是 javascript

最佳答案

你可以使用输出缓冲来实现类似的东西,尽管直接在 JS 中嵌入 PHP 代码是不可能的。

示例:

server.php

<?php
echo 'hello World';
?>

client.php - (.php 扩展能够解析 PHP 标签,但实际上输出 JS)

<?php
header("Content-type: application/x-javascript"); // Or 'text/javascript'
ob_start();
include( 'server.php');
$i = ob_get_contents();
ob_end_clean();
?>
function foo() {
var i = '<?= json_encode( $i); ?>';
console.log( i );
}

编辑:如果server.php 文件将只返回一个简单的字符串,那么您可以修改client.php 的代码。请注意我是如何说“返回”而不是输出的——如果您的 server.php 输出任何内容,它将作为输出(不是您想要的)发送到浏览器。或者,您可以在 server.php 中设置一个变量,该变量在 client.php 中输出,或者将您的代码封装在一个函数中:

server.php

<?php
function js_output()
{
return 'hello world';
}
?>

client.php

<?php
header("Content-type: application/x-javascript"); // Or 'text/javascript'
?>
function foo() {
var i = '<?php include( 'server.php'); echo addslashes( js_output()); ?>';
console.log( i );
}

注意:您可能还想添加对 html_entitieshtmlspecialchars 的调用。

关于php - 如何在javascript中嵌入php脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8227638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com