繁体   English   中英

将PHP数组传递给JSON和JS:未捕获的SyntaxError:意外的标识符

[英]Pass PHP Array to JSON and JS: Uncaught SyntaxError: Unexpected identifier

当我尝试将PHP变量回显到JS变量时,我总是会收到“ Uncaught SyntaxError:Unexpected identifier”。

<script type="text/javascript">
    $(function () {
        var options = {
           float: false,
           removable: '.trash',
           removeTimeout: 100,
           acceptWidgets: '.grid-stack-item',
           resizable: { handles: 'e, se, s, sw, w' }
           };
        $('#grid').gridstack(options);

        var data = "<?php echo json_encode($serializedData); ?>";

我的PHP:

$serializedData = array();
$str = "SELECT gri_id as 'id', gri_plugin as 'plugin', gri_gridContent as 'content', gri_gridPosX as 'x', gri_gridPosY as 'y', gri_gridSizeX as 'width', gri_gridSizeY as 'height' FROM tGrid WHERE gri_location = '$loc'";
$stmt = $db->prepare($str);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as $value) {
  $function = $value["plugin"];
  $data = $function($value['id'], $db);
  $value['content'] = $data;
  array_push($serializedData, $value);
}

假设JSON是javascript的有效代码段,为什么我们应该将其包装在引号中? 您期望数据将成为对象,但现在它变为字符串。

做:

var data = <?php echo json_encode($serializedData) ?>;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM