直接看代码:var responseJsonData = eval('('+response.responseText+')');//response.responseText是Ajax的返回值
alert(responseJsonData );//这行是对的,打印结果是:[object object],说明已经json数组已经转化为json对象了
alert(responseJsonData .length);//报错, 打印结果为undefined为什么???
alert(responseJsonData );//这行是对的,打印结果是:[object object],说明已经json数组已经转化为json对象了
alert(responseJsonData .length);//报错, 打印结果为undefined为什么???
我这里有另一个用jsp方式实现的工程,直接copy到tomcat下运行的话答应打印是一个数字
因为点前面多了个空格
response.responseText是啥?楼主你得帖出来。
关注我的回复行不行!!!
response.responseText = "{ a: 1234 }"; // object不指定也没有length属性
response.responseText = "[]"; // 数组才有。
{"a":"1", "b":"2"};
这样的数据是没有length属性的,这是一个普通的object,但你的数据要是
["a":"1", "b":"2"],
这是数组,他才有length
我估计你的数据是第一种情况,
你可以for(p in json)遍历一遍获得元素的个数
我在struts2中用了json插件来序列化action的执行结果,
所以返回的json格式是这样的:{“A”: [{.....}]} //这里的{.....}是我action的执行结果正确的打印是这样的:
[code=JScript][
alert(responseJsonData .A.length);
/code]