JS异步提交返回json 转换问题?
我JS异步提交后返回数据,格式如下:
[{"aa":"33","bb":"44"},{"cc":"33","dd":"44"},{"ee":"33","ff":"44"}]
var json=eval('('+xhr.responseText+')'); //提示语法错误
如果改成:var json=xhr.responseText; alert(json[0].IpId); //弹出为空
我都快疯了??????????????????
------解决方案--------------------没有问题啊
s = '[{"aa":"33","bb":"44"},{"cc":"33","dd":"44"},{"ee":"33","ff":"44"}]';
var json=eval('('+s+')');
你保证你返回的是这些内容吗?
alert(xhr.responseText)
------解决方案--------------------你这个返回的字面量是个数组,换成对象试试呢。
------解决方案--------------------var json=xhr.responseText; alert(json[0].IpId); //弹出为空
responseText是string,不是json对象,需要eval生成json对象,而且你返回的json字符串也没包含IpId这个属性啊
JScript code
var json=eval('('+xhr.responseText+')');
alert(json[0].aa)