Во-первых, у меня есть поиск Stack Overflow для ответа, но я не нашел решение, которое работает.json_encode не избежит новых строк
Я использую структуру MVC (yii), чтобы сгенерировать некоторые представления и выбросить их в массив. Каждое представление представляет собой карту, и у меня есть массив карт ($ deck), а также массив массивов карт ($ hands, список рук для каждого игрока). Я просто пытаюсь установить переменную javascript на front-end, чтобы сохранить руки, созданные на PHP. В моем представлении стоит отметить несколько строк. На самом деле, мой текущий вид тест состоит только из:
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, но в моем упрощенном случае, который все еще содержит ошибки, включает только две строки «теста», как упоминалось выше.
$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); ?>');
It ошибки на странице загрузки.
Любая помощь будет оценена!
Спасибо,
ParagonRG
Использование json_encode дважды делает очень мало смысла. – Pointy
Тогда почему бы вам не оставить выход? И почему есть лишняя цитата '' 'перед скобками массива JSON? – mario
Пожалуйста, покажите часть своего фактического кода, включая часть, которая использует' json_encode'. – nnnnnn