php - 使用 xmlhttp.responseText 中的 JSON 解析数组

标签 php javascript arrays json

我尝试使用ajax将php数组获取到js,并在PHP中通过JSON编码并在JS中解码,但无法获得所需的结果。

我在回显编码字符串之前使用 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}

在 Firebug 上我收到语法错误:

SyntaxError: JSON.parse: unexpected character
[Break On This Error]   

array1 = JSON.parse(xmlhttp.responseText);

我做错了什么?我需要在 JS 中使用这个数组,如何正确编码?

提前致谢

最佳答案

删除 var_dump。它是打印输出,这可能导致您所说的responseText不是完整的responseText。

我希望您的回复文本是:

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}'
{"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}

关于php - 使用 xmlhttp.responseText 中的 JSON 解析数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18032575/

相关文章:

php - 如果启用了 register_global 怎么办

php - 仅在提交时使用 javascript 保存表单状态

PHP preg_match 直到双换行

javascript - 在 Javascript 中获取 future 的调用堆栈

jquery - 如何使用 JQuery 将评论从评论部分推送到数组中?

php - 在PHP中获取两个日期之间的日期名称

javascript - 无法从 $scope 获取值

javascript - 这个函数是如何在 JavaScript 中沿着原型(prototype)链向上爬的?

ios - swift 4 : Passing Data from Tableview to ViewController

php - 引用 - 这个错误在 PHP 中意味着什么?