如何将json对象传递给php中的javascript函数

时间:2013-11-12 07:46:09

标签: javascript php json

我有一个json对象。
$ json = json_decode($ data,true);
看起来像-

array(5) {
  ["screenShareCode"]=>
  string(9) "021113322"
  ["appletHtml"]=>
  string(668) ""
  ["presenterParams"]=>
  string(396) "aUsEN5gBYi4vlIEGpk0="
  ["viewerUrl"]=>
  string(65) "http://api.leap.com/v2/viewer/021113322?accountid=mynet"
  ["origin"]=>
  string(3) "API"
}


{{1}}

当我尝试将此内容分配到javascript变量时,它会给出一个错误“ unterminated string constant ”。

3 个答案:

答案 0 :(得分:0)

您不能在PHP JavaScript中解码它。 JSON字符串的内容是有效的JavaScript文字。

<?php
 ...
?>
<script ...>
var data=<?php echo $data; ?>;
alert(data["screenShareCode"]);
<?php
 ...

答案 1 :(得分:0)

尝试:

alert(<?php echo json_encode($json); ?>);

或:

alert(<?php echo $data; ?>);

你对术语有点困惑。 $data是一个JSON字符串,$json是通过解码JSON字符串获得的PHP数组。

答案 2 :(得分:0)

尝试以下代码。我创建了一个名为sample.php的php文件。我们有一个名为$ data的php数组。使用json_endode()将数据编码到json中。这导致json格式化数据。然后我们可以将它分配到像var jsonData = <?php echo $jsonData ?>;这样的java脚本变量中。请注意,这是在<script>标记内完成的。

<?php
// We have some data
$data = array(
    "screenShareCode"=>"021113322",
    "appletHtml"=>"",
    "presenterParams"=>"aUsEN5gBYi4vlIEGpk0",
    "viewerUrl"=>"http://api.screenleap.com/v2/viewer/021113322?accountid=mynet",
    "origin"=>"API"
);
// Convert it into json format.
$jsonData = json_encode($data,true);
?>

<script>
// Assign that json data to a java-script variable
var jsonData = <?php echo $jsonData ?>;

// To view the full data 
console.log(jsonData);

// You can take a specific data like this.
alert(jsonData.presenterParams);
</script>