gpt4 book ai didi

php - 无法将 XMLHttpRequest.response 解析为对象或数组

转载 作者:行者123 更新时间:2023-11-30 05:45:02 24 4
gpt4 key购买 nike

我正在尝试刷新表格单元格的内容。因此,我有一个 JavaScript,其中包含对 .php 文件的 AJAX 请求,它创建了我想通过 JavaScript 插入到我的表中的内容。 .php 文件的最后一个命令类似于 echo json_encode($result);

在 JavaScript 中它说:

var testarray = xmlhttp.response;
alert(testarray);

但是警报的输出看起来像:

{"1":{"1":"3","2":"0","3":"2","4":"0"}}{"1":{"1":"3","2":"0","3":"2","4":"0"},"2":{"1":"2","2":"1","3":"1","4":"1"}}...    

所以看起来变量 testarray 不是作为数组而是作为字符串处理的。我已经尝试过 var testarray = JSON.parse(xmlhttp.response),但这不起作用。 eval() 也不起作用。

我不知道该怎么做,所以我的请求的响应变成了一个对象。

最佳答案

你的 json 中有两处奇怪的东西:

  1. 这部分不是有效的 json:...}{...两个对象应该用逗号分隔

  2. 符号是带有字符串索引的对象而不是带有 int 索引的数组它应该是这样的:[[1,2,3,4],[5,6,7,8]]

对于第 1 点。看起来你有一个连接许多 json 的循环

对于第2点,对象符号可以用作数组,所以没关系

部分代码:

    //the folowing code doesn't work: }{ is not parsable
var a=JSON.parse('{"1":{"1":"3","2":"0","3":"2","4":"0"}}{"1":{"1":"3","2":"0","3":"2","4":"0"},"2":{"1":"2","2":"1","3":"1","4":"1"}}');

//the folowing code work and the object can be used as an array
var a=JSON.parse('{"1":{"1":"3","2":"0","3":"2","4":"0"},"2":{"1":"2","2":"1","3":"1","4":"1"}}');
alert(JSON.stringify(a[1]));


//the folowing code displays the real notation of a javascript array:
alert(JSON.stringify([1,2,3,4]));

关于php - 无法将 XMLHttpRequest.response 解析为对象或数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18460802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com