我正在尝试在<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 :(得分: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.'" \>
OR
header('Content-Type: image/jpeg');
echo file_get_contents( 'image.jpg' ); //assuming there is no other content