我正在向服务器发送一个帖子请求并获取我想要的数据数组,但我看不到访问各个元素,我无法弄清楚原因。
这是它的主旨
$(document).ready(function() {
$.post("myscript", { Action: "JQueryReq", },
function(data){
alert(data);
});
});
如果我执行上述操作,我会收到我想要的所有内容,它看起来像这样(在JS对话框中)
[{"val1":null,"val2":null,"val3":null,"Size":"Inches","valu4":null}]
但如果我改变
alert(data);
到
alert(data.Size);
我得到“未定义”
我也试过
var myjsonreturn = eval(data);
alert(myjsonreturn.Size);
我也试过
var myjsonreturn = eval('('+data+')');
alert(myjsonreturn.Size);
每次我都未定义。
我做错了什么?
TIA
答案 0 :(得分:1)
什么是data
?它是一个字符串?如果是这样,您想使用:
eval('('+data+')')[0].Size;
答案 1 :(得分:0)
试过这个?
alert(data[0].Size)
答案 2 :(得分:0)
作为JSON响应,您获得的是仅包含一个单元格的数组。由于数组的长度为1,索引将从数字0开始,因此您可以访问如下内容:
alert(data[0].Size);
或者,如果你想用jQuery的.each()循环遍历这些值:
$.each(data[0], function(index, value){
alert(index + ':' + value);
});