可能重复:
Pass a PHP string to a Javascript variable (including escaping newlines)
所以我想知道是否可以在jquery / javascript脚本中访问php变量中的数据。假设我有一个wordpress查询/循环,它会从数据库中显示一个特定的帖子。
然后,如果我将该帖子存储在php变量中,有什么方法可以在javascript / script中引用该变量/ post?
答案 0 :(得分:0)
您可以在PHP页面上执行以下操作。
<script>
alert("<?php echo $hello_world;?>");
</script>
然而,这在.js文件中不起作用,因为它显然没有设置为解释PHP语法。
答案 1 :(得分:0)
是。你可以。
场景:1如果HTML和PHP处于单独的文件中
HTML
<html>
<head>
<script type='text/javascript' src='code.php' runat='server'></script>
<script>
// you can get phpVar here
alert(phpVar);
</script>
</head>
<body>
</body>
</html>
code.php
<?php
$value =" Value from PHP";
echo "var phpVar = '". $value ."'";
?>
场景:2如果HTML和PHP在同一个文件中
<?php $value =" Value from PHP"; ?>
<html>
<head>
<script>
<?php echo "var phpVar ='" . $value ."'"; ?>
alert(phpVar);
</script>
</head>
<body>
</body>
</html>
答案 2 :(得分:0)
因此,当您的浏览器发起请求时,它会命中服务器。服务器处理请求,运行所有必要的方法和设置变量,然后将结果发送回浏览器。那时,任何不在会话中的东西都会在PHP端死掉(即它不是持久的)所以javascript无法访问这个php变量。
如果你想做的是将php变量或对象传递给javascript函数,我建议使用json_encode: http://www.php.net/manual/en/function.json-encode.php
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
以上示例将输出:
{"a":1,"b":2,"c":3,"d":4,"e":5}
答案 3 :(得分:0)
你可以在这样的脚本标签中输出有关帖子内联的信息(假设你在“循环”中,只输出一个帖子):
<script>
var post_id = <?php the_ID(); ?>;
var post_title = "<?php the_title(); ?>";
var post_excerpt = "<?php the_excerpt(); ?>";
</script>
但是,根据您要完成的任务,您可能希望采用不同的方法。也许使用脚本以JSON格式输出发布数据,以便javascript可以原生地理解它,然后编写AJAX函数来检索和呈现这些帖子。以下是一些可能有用的资源: