-1

JS 函数需要一个由 PHP 生成的变量。.js 文件不能解释<?php ?>字符串,所以我必须从 .html 代码中传递它。

是的,但是从 HTML 运行 JS 代码被认为是不好的做法(就像style元素一样)。那该怎么办?

4

3 回答 3

1

.js 文件无法解释<?php ?>字符串

所以给文件一个.php扩展名。(确保通过调用覆盖 PHP 的默认 Content-Type 输出header()

但是从 HTML 运行 JS 代码被认为是不好的做法(就像样式元素一样)。

那是因为内联 JS 不利于缓存。如果文件是动态生成的,那么您可能无论如何都无法正常缓存它。

于 2013-02-18T22:20:01.650 回答
1

您可以使用echo执行以下操作:

<? echo('<script type="text/javascript">var hello="world"</script>');
于 2013-02-18T22:11:46.897 回答
1

有几个选项。首先,您可以构建您的第一个示例。

<?php

$myVariable = array('key' => 'value', 'anotherKey' => 10);

?>

// PHP variable output in javascript's object syntax
var phpData = <?php echo json_encode($myVariable); ?>;

// value
console.log(phpData.key);
// 10
console.log(phpData.anotherKey);

另一种选择是使用对 PHP 脚本的 Ajax 请求来检索数据。根据您的问题,此选项很可能不会有用,因为您在页面加载时拥有数据。

于 2013-02-18T22:16:58.140 回答