php json_encode无法正常工作

时间:2016-01-14 13:07:02

标签: javascript php jquery json blade

我正在使用laravel 5.2,我正在使用如下

var data = <?php json_encode($data['value']); ?>

当我在刀片文件中使用下面的JavaScript代码时,它的工作正常,但当我使用代码作为单独的文件并试图吞下它,那么它不起作用,我的数据没有加载

2 个答案:

答案 0 :(得分:1)

    $subchildpage1_set = mysql_query("SELECT * FROM subchildpages1 WHERE childpage_id = {$childpage["id"]}",$connection);
    if (!$subchildpage1_set) {die("Database query failed: " . mysql_error()); }
    echo "<ul class=\pages\">";
    while ($subchildpage1 = mysql_fetch_array($subchildpage1_set)) {echo "<li>{$subchildpage1["menu_name"]}</li>"; }
    echo "</ul>";

var data = "<?=json_encode($data['value']);?>"

您没有回显该值,您的var为null

答案 1 :(得分:0)

其他伙伴已经提供了正确的解决方案,特别是@ user1779617,现在我正在解释一个基本的例子:

<%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<html>
<head>
</head>
<body>
<h1>Struts <logic:iterate> example</h1>

<logic:iterate name="listUsers" id="listUserId">
<p>
  List Users <bean:write name="listUserId" property="username"/> , 
  <bean:write name="listUserId" property="url"/>
</p>
</logic:iterate>

</body>
</html>

如果您发布了原始代码而不是<? // a simple array $data['value'] = array(1=>'test'); $encodedData = json_encode($data['value']); ?> <script type="text/javascript"> var data = <?=$encodedData?>; console.log(data); // Object { 1="test"} </script> 中的错误,那么您将错过结尾终止分号 javascript加上您需要(;)结果如答案中提到的那样。

更新1

如果您仍然面临同样的问题,请使用echo

中的JSON.parse
javascript