不知道是不是JSON数组有问题,我现在后台传送过来的数据格式为:"{'userame':[{'username':王国军','names':'王先生'}]}" 前台的JS,JSON获取方式为: var listLineMen = eval("("+data+")");
var listLineMenHtml = "";
alert( listLineMen);
for (var i = 0; i < listLineMen.length; i++) {
listLineMenHtml = listLineMenHtml + "<a href='javascript:;' v='" + listLineMen[i].username + "'>" + listLineMen[i].names + "</a>";
}
$("#priceLinkMenNex").html(listLineMenHtml);alert( listLineMen)处能够获取到后台传来的数据,但是listLineMen[i].username 和listLineMen[i].names处提示:undefined我感觉是数据格式有问题,因为这段代码我是从别人那边抄过来的,正常的。如果是数据格式有问题,那么根据上面这个代码,这个数据的格式应该是什么样的?
var listLineMenHtml = "";
alert( listLineMen);
for (var i = 0; i < listLineMen.length; i++) {
listLineMenHtml = listLineMenHtml + "<a href='javascript:;' v='" + listLineMen[i].username + "'>" + listLineMen[i].names + "</a>";
}
$("#priceLinkMenNex").html(listLineMenHtml);alert( listLineMen)处能够获取到后台传来的数据,但是listLineMen[i].username 和listLineMen[i].names处提示:undefined我感觉是数据格式有问题,因为这段代码我是从别人那边抄过来的,正常的。如果是数据格式有问题,那么根据上面这个代码,这个数据的格式应该是什么样的?
解决方案 »
- 散分!!!(小问题)用struts,写一个连接sql2000数据库怎么写
- Jbuilder+Jboss开发问题?
- 字符串转换问题???
- 下拉框的显示问题!
- 导入了 import=" java.util.*;" %>反而不认得OUT.PRINT了要写System.out.println(了,是这样的吗?
- 一个简单的strust数组问题--(在线等待)
- 请问appfuse程序该怎样部署啊?能不能说说具体的操作步骤啊?谢谢!
- tomcat配置问题?请教
- 如何在WIN2000上发布我的JSP网站!
- 关于session(我停了一会儿没动网页,再在点击网页链接时,session丢失,然后点击IE的刷新,session又有了)这是怎么回事。
- 在tomcat servlet doPost中 new HttpClient()报错
- 分析代码:为什么会有两个catch?
"userame": [
{
"username": "王国军",
"names": "王先生"
}
]
}
"{'userame':[{'username':王国军','names':'王先生'}]}"
修改后为
{'userame':[{'username':'王国军','names':'王先生'}]}
然后再 var listLineMen = eval("("+data+")");代码也有问题
listLineMen 为对象,并不是数组,所以在循环中不能用 listLineMen.length 而应该用listLineMen.userame.length
修改后如下:
var listLineMen = eval("("+data+")");
var listLineMenHtml = "";
alert( listLineMen);
for (var i = 0; i < listLineMen.userame.length; i++) {
listLineMenHtml = listLineMenHtml + "<a href='javascript:;' v='" + listLineMen.userame[i].username + "'>" + listLineMen.userame[i].names + "</a>";
}
$("#priceLinkMenNex").html(listLineMenHtml);
var tt = listLineMen.username;
for(i=0;i<tt.length;i++){
var ss = tt[i];
alert(ss.username + ss.names);
}
上面的应该可以输出值,明白json的数据格式关系。
可以正常运行。eval({'userame':[{'username':'王国军','names':'王先生'}]}).userame[0].names
var listLineMenHtml = "";
alert( listLineMen); //这里我得到的数据是:{'userame':[{'username':'王国军','names':'王先生'}]}但是:alert{listlineMen.username[0].username}得到的是值空的?
换其他语言环境,正常通过。
不管你是否数据格式传对与否,通过.net必须eval("("+data+")")否则报错要么提示undefined 。 var listLineMen = eval("("+data+")");//通过解析
//var listLineMen = eval(data);//报错,提示缺少“)”