首先,我有搜索堆栈溢出的答案,但我还没有找到一个解决方案的工作。我正在使用MVC框架(yii)生成一些视图并将它们放入数组中。每个视图都是一张牌,我拥有一系列牌($ deck)以及一系列牌($ hands,每个牌手的牌名单)。我只是试图在前端设置一个JavaScript变量来存储PHP中创建的手。值得注意的是,我的观点是多行。事实上,我目前的测试数据视图只包括:json_encode不会逃避换行符
test
test
因此我使用json_encode,但它给我下面的错误,当我使用$ .parseJSON():
Uncaught SyntaxError: Unexpected token t
我读其他地方它需要(无论什么原因)使用json_encode两次。我已经尝试过,但没有帮助。
有了一个json_encode,呼应$hands
的输出(后跟一个出口)看起来很健康:
[["test\ntest","test\ntest","test\ntest","test\ntest", etc...
但是,当我不退出,我每一次出现语法错误。
编辑:这是我的代码示例。请注意,$ cards通常是一个HTML数组,但在我仍然错误的简化情况下,只包含上述两行'test'。
$deck = array();
foreach ($cards as $card) {
$deck[] = $this->renderPartial('/gamePieces/cardTest',
array('card'=>$card), true);
}
$hands = Cards::handOutCards($deck, $numCards , $numPlayers);
$hands = json_encode($hands);
echo $hands; exit;
使用JavaScript,我做了以下内容:
var hands = $.parseJSON('<?php echo json_encode($hands); ?>');
在页面加载错误。
任何帮助,将不胜感激!
感谢,
ParagonRG
使用json_encode两次意义不大。 – Pointy
那你为什么不保持退出?为什么在JSON数组中有一个额外的'''引号? – mario
请显示一些实际的代码,包括使用'json_encode'的部分。 – nnnnnn