【发布时间】:2020-03-11 20:39:06
【问题描述】:
$.post("./bigData.php", {'username': username}, function(response) {
console.log(response);
var bigUser = response[username]; // attempt one
var bigUser2 = username.response; // attempt two
});
我上面的response 控制台如下:
{"userSumData":[{"id":"slz1","checked":false},{"id":"slz2","checked":false},{"id":"slz3","checked":false},{"id":"slz4","checked":false}, ....."Map":true}
我想要的结果是这样的:
{"steven":{"userSumData":[{"id":"slz1","checked":false},{"id":"slz2","checked":false},{"id":"slz3","checked":false},{"id":"slz4","checked":false}, ....."Map":true}}
我在response 之后尝试了点符号和方括号,都只是擦除数据。
【问题讨论】:
-
现在我看到了您想要的回复:
const obj = {steven:response};。当然,人们不得不想知道为什么你首先要用一个具有单个属性的对象来包装你的响应。 -
我在哪里添加这个?这样做,然后在控制台记录 obj 之后,我的响应数据就消失了
-
这里显然有两个不同的问题。一种是将响应转化为期望的结果,就像 StackSlave 展示的那样。另一个是处理一般的异步代码,我想通常会混淆事情发生的顺序。此外,声明
var然后结束函数是完全没有意义的;没有任何东西可以访问该变量;没了。
标签: javascript arrays object key