如何从包含多个变量的JSON访问数据? (在具有express和jquery的node.js中)
为了避免很多ajax调用,我试图通过一个Ajax响应发送三个变量,但是当在客户端上接收到数据时,如何处理数据却遇到了麻烦。下面我将解释。如果不建议发送带有一个响应的多个变量,请告诉我原因。
服务器发送包含三个变量的响应。一个只是一个数组,第二个和三个是mysql RowDataPacket对象。看起来像这样:
let oneJSON = JSON.stringify(one);
let twoJSON = JSON.stringify(two);
let threeJSON = JSON.stringify(three);
response.write(oneJSON);
response.write(twoJSON);
response.write(threeJSON);
response.end();
客户端代码:
$.ajax({
type: "POST",
url: "http://localhost:3000/getthis",
data: {
"date": date,
},
success: function(data) {
alert(data);
/* not working:
let allvariables = JSON.parse(data);
alert(allvariables);
*/
}
});
在客户端上,我收到一个看起来像这样的JSON文件:
["cat1","cat2","cat3",null][{"strength":"10","temp":"10","category":"cat1"}][{"difficulty":"medium","category":"cat1"}]
以上代码是通过alert(data);
创建的。如您所见,每个变量周围都有“ []”。
这样就收到了数据,但是我不知道如何再次获取变量?我试图从解析开始:
let allvariables = JSON.parse(data); alert(allvariables);
但是此操作似乎无效,因为未创建警报。
知道如何从接收到的JSON文件中检索变量吗?
回答如下:也许是这样:
let patternVariable = { one: one,
two: two,
three: three };
let varriableJSON = JSON.stringify(patternVariable);
response.write(varriableJSON);
response.end();