var jsonstr="{ "Head":
[{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"}]}";
var json = eval("("+jsonstr+")");
以上是写在一个jsonstr.js文件中,然后在页面调用,是哪里有问题,列表显示不出来,麻烦大家帮我看看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
姓名 | 性别 |
这段代码中存在4个错误:
1、Ajax请求响应有问题。因为你请求的是一个文件,那么这么文件只能是一个影响文本。
把响应jsonstr.js修改为:{ "Head":
[{"name":"1111",sex:"s"},{"name":"1111",sex:"s"},{"name":"1111",sex:"s"},{"name":"1111",sex:"s"},{"name":"1111",sex:"s"},{"name":"1111",sex:"s"},{"name":"1111",sex:"s"},{"name":"1111",sex:"s"},{"name":"1111",sex:"s"}]}
2、Ajax请求是文本,那么dataType:'text'
3、在success方法中,接收到文本再eval,由于数据是Head,所以我们使用到是结果中的Head,而不是直接使用响应结果。json= eval("("+json+")"); json = json.Head;
4、var cont = '';应该定义在each外面,否则$('#test').append(cont);出错。
亲, 8)
[color=red]// 此处的json=json.Header[/color]
$.each(json,function(i){
var name = json[i].name;
};
[code="java"]
var jsonHead ={ "Head":
[{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"},
{"name":"1111",sex:"s"}]};
var json = jsonHead.Head;
[/code]