你可以从脚本中访问php变量中的数据吗?

时间:2012-03-20 03:17:23

标签: php javascript wordpress

  

可能重复:
  Pass a PHP string to a Javascript variable (including escaping newlines)

所以我想知道是否可以在jquery / javascript脚本中访问php变量中的数据。假设我有一个wordpress查询/循环,它会从数据库中显示一个特定的帖子。

然后,如果我将该帖子存储在php变量中,有什么方法可以在javascript / script中引用该变量/ post?

4 个答案:

答案 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函数来检索和呈现这些帖子。以下是一些可能有用的资源:

Wordpress JSON API jQuery AJAX