我试图在<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>
你就像这样回显它,假设你有一个$数组的参数如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,二进制等等,它都是文本,因为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