在jquery代码中访问PHP对象(在另一个文件中)。救命

时间:2011-07-18 10:09:05

标签: php jquery variables

我在PHP文件中有一个json对象,我想从JQuery.js文件访问它,它们都位于index.php页面中。

你知道怎么做吗?

的index.php

<?php 
include('theFileThatContainsJson.php'); // say it's $json
?>
<html>
<head>
<script language="javascript" src="jquery.js" type="text/javascript"></script>
</head>
<body>
.............
</body>
</html>

在这里,我们在 jquery.js 文件中有什么,你可以看到我的作品(不起作用;)):

    $.getJSON(<?php echo '$json'; ?>, function(data){ .... }

如何解决难题&lt;&lt;&lt;至少在这一刻对我来说:)?

2 个答案:

答案 0 :(得分:2)

一种方式(讨厌!)就是做这样的事情......

<script language="javascript" src="jquery.js.php?data=<?php echo base64_encode($json) ?>" type="text/javascript"></script>

..并在您的jquery.js.php文件中:

$.getJSON(<?php echo base64_decode($_GET['data']) ?>, function(data) { ... });

当然,这是一种可怕的做法,不应该真的做到。最好的方法可能包括:

  • theFileThatContainsJson.php简单地echo JSON,让jquery.js只是执行AJAX请求来获取数据
  • theFileThatContainsJson.php实际打印出包含您可以使用的Javascript变量的<script></script>标记

答案 1 :(得分:0)

如果json不大:

$.getJSON('<?php echo '$json'; ?>', function(data){ .... }

甚至

$.getJSON('<?php include('theFileThatContainsJson.php'); ?>', function(data){ .... }

在第二种情况下,theFileThatContainsJson.php应该回显那个json。 在这两种情况下都应该在页面正文中

无论如何我不建议这样做(例如使用ajax)