我尝试将PHP变量传递给JS文档,并将其显示为String的一部分。我的代码看起来像这样:
php文档:
<?php
$id = "57.pdf";
?>
<script type="text/javascript">
var id = <?php echo json_encode($id); ?>;
</script>
<script type="text/javascript" src="../pdfjs/web/viewer.js"></script>js文档:
var DEFAULT_URL = '../../html/docs/' + id;但是,传递的id变量不会在DEFAULT_URL变量中显示为字符串的一部分。无论如何,如果我尝试警告传递的变量,它会正常显示。
发布于 2013-06-01 22:38:11
尝试使用:
var DEFAULT_URL = '../../html/docs/' + window.id;编辑:然后这应该可以工作(您应该用一个非常特定于您的名称来替换My )。
<?php
$id = "57.pdf";
?>
<script type="text/javascript">
var My = {
app: {
id: <?php echo json_encode($id); ?>
}
};
</script>
<script type="text/javascript" src="../pdfjs/web/viewer.js"></script>和:
var DEFAULT_URL = '../../html/docs/' + My.app.id;发布于 2013-06-01 22:40:04
这个问题的答案是而不是 json_encode。事实上,json_encode将确保变量可以安全地传递给JS,这是有益的。
考虑一下,它就是OP的代码。
在这种情况下,我打赌的是一个类似于以下内容的结构:
var id = "57.pdf";
(function() {
...
var id;
alert(id);
})();其中id在IETF中被重新声明为本地的,因此外部id不再可访问。从那里开始,alert将为空。然而,如果不看所有的OP代码,是不可能知道的。
https://stackoverflow.com/questions/16873719
复制相似问题