2015-07-22 2 views
2

Я пытаюсь отобразить массив JSON внутри метки <script>, возможно ли это?Как распечатать массив JSON внутри тега скрипта?

Вот что я пытался до сих пор:

<script> 
    var x = JSON.stringify(data); 

var json = (function() { 
     var json = null; 
     $.ajax({ 
      'async': false, 
      'global': false, 
      'url': "empdata.json", 
      'dataType': "json", 
      'success': function (data) { 
       json = data; 
      } 
     }); 
     return json; 
    })(); 
</script> 

То, что я пытаюсь сделать:

<script> 

var videos = {"employee_id":"1","employee_name":"Steve","designation":"VP","hired_date":"2013-08-01","salary" 
:"6000"}; 

</script> 
+0

возможно с ' '; <- не пропустите java-скрипт с двумя запятыми. – ArtisticPhoenix

ответ

2

Да вы просто эхо его, как это, предполагается, что вы имеют $ массив параметров, таких как array("employee_id"=>1 ...)

var videos = <?php echo json_encode(array(
    "employee_id"=>1 
)); ?>; // <- don't miss the java-script semi-colon though 

Это должно просто напечатать

var videos = {"employee_id":1}; 

PHP не волнует, где вы повторить его на, на странице, он не имеет понятия о том, какой <script> тег. Все, что он знает, это некоторые вещи - это php-код, все остальное - строковое содержимое.

ИЛИ вы можете просто сделать это

var videos = <?php echo '{"employee_id":1}'; ?>; 

Но это своего рода бессмысленно, если вы имеете в виду, как это.

var videos = <?php echo '{"employee_id":'.$employee_id.'}'; ?>; 

Или вы можете сделать это путь к

var videos = {"employee_id":1}; 

И просто поставить его там, я больше не понимаю?

Если вы имеете в виду из файла, содержащего ваш json, то обязательно.

<?php 
$json = file_get_contents('pathtofile.json'); 
?> 

<script> ... etc.\ 

var videos = <?php echo $json; ?>; 

PHP может читать файлы, и он может отображать содержимое этих файлов, PHP не заботится о том, что в них. Единственным уловком является то, что контент должен быть действительным Json для работы javascript. Но php не заботится о том, что это JSON, XML, Binary и т. Д., Это весь текст, потому что PHP - это свободно типизированный язык. На самом деле php не заботится о том, работает ли ваш Javascript, он не имеет понятия о том, что такое javascript.

На самом деле это тоже работает (предполагается, что image.jpg - это реальный файл изображения.).

$jpg = file_get_contents('image.jpg'); 
    echo '<img src="'. $jpg.'" \> 

ИЛИ

header('Content-Type: image/jpeg'); 
    echo file_get_contents('image.jpg'); //assuming there is no other content 
+0

не работает результатов: 'var videos =

(!) ....... ' – PerfectGohan

+1

@PerfectGohan - Это похоже на начало сообщения об ошибке. К сожалению, вы разделили только общие элементы и не указали фактическое сообщение об ошибке. – gilly3

+0

@ gilly3 - Я думаю, что это корень проблемы в любом случае. – ArtisticPhoenix

Смежные вопросы