可能重复:
What is the safest way of passing arguments from server-side PHP to client-size JavaScript
目标:使用php数据替换javascript对象中的静态文件名。
问题:
我不知道我的语法或逻辑是否正确,因为我没有得到任何js或php错误。最糟糕的是我的所有剧本都没有给出理想的结果。你可以看到实际的页面 http://www.iamvishal.com/dev/property/burradon-road-burradon第197行
我想用php制作的javascript对象:
var data = { 'JPEG/1.jpg': { caption: '' }, 'JPEG/2.jpg': { caption: '' }, 'JPEG/3.jpg':
{ caption: '' }, 'JPEG/4.jpg': { caption: '' }, 'JPEG/5.jpg': { caption: '' },
'JPEG/6.jpg': { caption: '' },
'JPEG/7.jpg': { caption: '' }, 'JPEG/8.jpg': { caption: '' },};
所以我需要用php变量$ filename替换JPEG / 1.JPG。以下是我的代码。
<script type="text/javascript">
var data = { ;
<?php
$queryglob ="JPEG/*".$node->field_ropertyid['und'][0]['value'].".jpg";
// Here I am getting all the file names as per my condition.
foreach (glob($queryglob) as $filename) {
// here I am want each file name to be assigned into the javascript object
?>
data = data+'+<?php print $filename ; ?> +':{caption:''}, ;
<?php
}
?>
data = data+};
</script>
答案 0 :(得分:2)
为什么你没有使用json_encode
<?php
$data = array( );
foreach (glob($queryglob) as $filename) $data[$filename] = array( 'caption' => '' );
?>
<script type="text/javascript">
var data = <?php echo json_encode( $data ); ?>
</script>
这比构建字符串
更聪明