Im пытается получить php-массив в js с помощью ajax и кодирования JSON в PHP и расшифровки в JS, но не может получить желаемый результат.проанализировать массив с помощью JSON из xmlhttp.responseText
Я использую var_dump как раз перед я эхом кодированных строк и это выход:
$boardArrayEncoded = json_encode($boardArray);
var_dump($boardArrayEncoded);
echo $boardArrayEncoded;
эта строка после json_encode является:
string '{"1x1":0,"1x2":0,"1x3":0,"1x4":0,"1x5":0,"1x6":0,"2x1":0,"2x2":0,"2x3":0,"2x4":0,"2x5":0,"2x6":0,"3x1":0,"3x2":0,"3x3":0,"3x4":0,"3x5":0,"3x6":0,"4x1":0,"4x2":0,"4x3":0,"4x4":0,"4x5":0,"4x6":0,"5x1":0,"5x2":0,"5x3":0,"5x4":0,"5x5":0,"5x6":0,"6x1":0,"6x2":0,"6x3":0,"6x4":0,"6x5":0,"6x6":0}'
В JavaScript я пытаюсь разобрать его:
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
document.getElementById("logDiv1").innerHTML = xmlhttp.responseText;
array = JSON.parse(xmlhttp.responseText);
}
это xmlhttp.responseText: {"1x1":0,"1x2":0,"1x3":0,"1x4":0,"1x5":0,"1x6":0,"2x1":0,"2x2":0,"2x3":0,"2x4":0,"2x5":0,"2x6":0,"3x1":0,"3x2":0,"3x3":0,"3x4":0,"3x5":0,"3x6":0,"4x1":0,"4x2":0,"4x3":0,"4x4":0,"4x5":0,"4x6":0,"5x1":0,"5x2":0,"5x3":0,"5x4":0,"5x5":0,"5x6":0,"6x1":0,"6x2":0,"6x3":0,"6x4":0,"6x5":0,"6x6":0}
На поджигатель я получаю синтаксическую ошибку:
SyntaxError: JSON.parse: unexpected character
[Break On This Error]
array1 = JSON.parse(xmlhttp.responseText);
, что им делать неправильно? Мне нужно использовать этот массив в JS, как я могу его правильно закодировать?
Заранее благодарен
Согласно http://jsonlint.org/, то JSON вы вывесили действителен. Вы уверены, что это то, что вы получаете? –
Да, это весь вывод из печати из var_dump и innerHTML. –
Ну, если 'string' является частью ответа (который есть, если у вас действительно есть' var_dump' в вашем коде), то в этом проблема. –