доступ к объекту PHP (в другом файле) в коде jquery. Помогите - PullRequest
0 голосов
/ 18 июля 2011

У меня есть объект json в файле PHP, и я хочу получить к нему доступ из файла 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){ .... }

Как решить головоломку <<< по крайней мере для меня в данный момент :)?</p>

Ответы [ 2 ]

2 голосов
/ 18 июля 2011

Один из способов (противный!) - сделать что-то вроде этого ..

<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 на самом деле распечатайте тег <script></script>, который содержит переменную Javascript, которую вы можете использовать
0 голосов
/ 18 июля 2011

если json не большой:

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

или даже

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

во втором случае theFileThatContainsJson.php должен повторить этот json.в обоих случаях должно быть в теле страницы

в любом случае я бы не советовал делать это так (используйте ajax например)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...