看了一段代码没太看懂 求高手给解释下注释的部分解决思路
看了一段代码没太看懂 求高手给解释下注释的部分
------解决方案--------------------
1,data 是固定写法,指ajax返回的结果字符串,你可以alert来看到底是什么
2,
var json = eval(data);
var count = json["test"].length; //这句的json["test"],
json代表了返回的字符串的激活对象,
比如data的字符串可能是这样
{"test":{"b":1},"test":{"b":2},"name":"aa"}
那么json=eval(data)后
json就是一个对象,json["test"]就是 这个对象内名为"test"的子对象的集合,
json["test"].length 就应该是2
- JScript code
JS文件是:jquery-1.6.2.js jQuery.extend({ getScript: function( url, callback ) { return jQuery.get( url, undefined, callback, "script" ); }, getJSON: function( url, data, callback ) { return jQuery.get( url, data, callback, "json" ); }, Make.aspx页面调用 var url = "Make.aspx?act=a&random=" + Math.random; $.getJSON(url, function(data) { //这句的function(data)这个对象数据是从哪里得到的,是从上面的url执行完得到的?我打印了一下data,输出的值是object var json = eval(data); var count = json["test"].length; //这句的json["test"],这里的test是从哪接的呢,找了半天也没找到,打印了一下count,得到的结果是8,这个8我就不太明白是什么了,要说数据库里的数据,我数据库里才6条 $.each(json["test"], function(i) { str += "<td colspan=\"" + this.ID + "\" class=\"txt-4\">" + this.Name + "</td>"; colspan_num = parseInt(colspan_num) + parseInt(this.ID); //alert(colspan_num); });
------解决方案--------------------
1,data 是固定写法,指ajax返回的结果字符串,你可以alert来看到底是什么
2,
var json = eval(data);
var count = json["test"].length; //这句的json["test"],
json代表了返回的字符串的激活对象,
比如data的字符串可能是这样
{"test":{"b":1},"test":{"b":2},"name":"aa"}
那么json=eval(data)后
json就是一个对象,json["test"]就是 这个对象内名为"test"的子对象的集合,
json["test"].length 就应该是2