我读出来的数据是:{"status":0,"data":{"rw":{"12":{"name":"\u98ce\u6b62\u5982\u6b87","vip_level":"8","union_name":"\u9752\u8863\u697c","level":"66","renown":"93304","ticket":"0","sum_fpower":"412052","trend":0,"rank":1},"636":{"name":"\u725b\u5976\u5e03\u4e01","vip_level":"7","union_name":"\u9752\u8863\u697c","level":"62","renown":"62691","ticket":"0","sum_fpower":"321352","trend":0,"rank":2},"292":{"name":"\u5c91\u8a89","vip_level":"6","union_name":"\u9752\u8863\u697c","level":"60","renown":"46174","ticket":"0","sum_fpower":"263584","trend":0,"rank":3},"342":{"name":"\u590f\u4faf\u9091","vip_level":"4","union_name":"\u9752\u8863\u697c","level":"57","renown":"28604","ticket":"0","sum_fpower":"147766","trend":0,"rank":4},"31":{"name":"\u65e0\u5929","vip_level":"5","union_name":"\u9752\u8863\u697c","level":"57","renown":"28237","ticket":"0","sum_fpower":"144644","trend":0,"rank":5},"128":{"name":"\u865e\u4e2d\u9053","vip_level":"3","union_name":"\u9752\u8863\u697c","level":"56","renown":"30753","ticket":"0","sum_fpower":"148505","trend":0,"rank":6},"297":{"name":"\u8001\u5934\u5b50","vip_level":"4","union_name":"\u9752\u8863\u697c","level":"55","renown":"25296","ticket":"0","sum_fpower":"140126","trend":0,"rank":7},"407":{"name":"\u97e6\u4eba\u6770","vip_level":"2","union_name":"\u9752\u8863\u697c","level":"55","renown":"21754","ticket":"0","sum_fpower":"109610","trend":0,"rank":8},"153":{"name":"\u79e6\u9053\u7f61","vip_level":"1","union_name":"\u9752\u8863\u697c","level":"54","renown":"19211","ticket":"0","sum_fpower":"120409","trend":0,"rank":9},"345":{"name":"\u5fa1\u5251","vip_level":"4","union_name":"\u9752\u8863\u697c","level":"52","renown":"16255","ticket":"0","sum_fpower":"118658","trend":0,"rank":10}}}}$.ajax(
{
type:"GET",
url:"rank.ashx",
data:{server:ServerID,order:Type},
dataType:'json',
cache:false,
success: function(datas){
var rw=datas.data.rw,item;for (var j in rw) {
trHtml += '<td class="lie2"><span class="jue_te">'+item.name+'</span></td>';
trHtml += '<td class="lie3"><span class="jue_te">'+item.level+'</span></td>'; trHtml += '</tr>';}
}
})结果 level 上不是上面的顺序排的,有点像随机是怎么回事json
{
type:"GET",
url:"rank.ashx",
data:{server:ServerID,order:Type},
dataType:'json',
cache:false,
success: function(datas){
var rw=datas.data.rw,item;for (var j in rw) {
trHtml += '<td class="lie2"><span class="jue_te">'+item.name+'</span></td>';
trHtml += '<td class="lie3"><span class="jue_te">'+item.level+'</span></td>'; trHtml += '</tr>';}
}
})结果 level 上不是上面的顺序排的,有点像随机是怎么回事json
解决方案 »
- Extjs4.0 store读不到数据,大神们帮帮忙啊~
- for循环取i的问题
- EXTJS MVC 使用AjaxProxy与“api”配置选项来支持不同store Url的读取和修改
- 请教javascript如何关闭本地的应用程序
- Table 动态追加行列,td.innerHtml追加的的列怎么显示不了?
- 错误类型:][ODBC SQL Server Driver][SQL Server]对象名 'users' 无效
- 我想不提交Server可以通过[另存为...]保存当前页面和填写的内容
- js文件调用问题(忘了)
- javascript中的基础问题!
- 请问:如何判断客户端是否已安装了某一控件(OCX)?
- 原生JS用怎么取代jquery中的$("p")
- win8 JS alert未定义!
xxx2 62
xxx3 60
xxx4 57
var d = eval('({"status":0,"data":{"rw":{"12":{"name":"\u98ce\u6b62\u5982\u6b87","vip_level":"8","union_name":"\u9752\u8863\u697c","level":"66","renown":"93304","ticket":"0","sum_fpower":"412052","trend":0,"rank":1},"636":{"name":"\u725b\u5976\u5e03\u4e01","vip_level":"7","union_name":"\u9752\u8863\u697c","level":"62","renown":"62691","ticket":"0","sum_fpower":"321352","trend":0,"rank":2},"292":{"name":"\u5c91\u8a89","vip_level":"6","union_name":"\u9752\u8863\u697c","level":"60","renown":"46174","ticket":"0","sum_fpower":"263584","trend":0,"rank":3},"342":{"name":"\u590f\u4faf\u9091","vip_level":"4","union_name":"\u9752\u8863\u697c","level":"57","renown":"28604","ticket":"0","sum_fpower":"147766","trend":0,"rank":4},"31":{"name":"\u65e0\u5929","vip_level":"5","union_name":"\u9752\u8863\u697c","level":"57","renown":"28237","ticket":"0","sum_fpower":"144644","trend":0,"rank":5},"128":{"name":"\u865e\u4e2d\u9053","vip_level":"3","union_name":"\u9752\u8863\u697c","level":"56","renown":"30753","ticket":"0","sum_fpower":"148505","trend":0,"rank":6},"297":{"name":"\u8001\u5934\u5b50","vip_level":"4","union_name":"\u9752\u8863\u697c","level":"55","renown":"25296","ticket":"0","sum_fpower":"140126","trend":0,"rank":7},"407":{"name":"\u97e6\u4eba\u6770","vip_level":"2","union_name":"\u9752\u8863\u697c","level":"55","renown":"21754","ticket":"0","sum_fpower":"109610","trend":0,"rank":8},"153":{"name":"\u79e6\u9053\u7f61","vip_level":"1","union_name":"\u9752\u8863\u697c","level":"54","renown":"19211","ticket":"0","sum_fpower":"120409","trend":0,"rank":9},"345":{"name":"\u5fa1\u5251","vip_level":"4","union_name":"\u9752\u8863\u697c","level":"52","renown":"16255","ticket":"0","sum_fpower":"118658","trend":0,"rank":10}}}})');
var o = d.data.rw;
for(k in o)alert(k)没问题,IE7,8,firefox都是对的。。不行rw就改成JSON数组,不用键名称的格式,可能是jq生成json对象时修改过循序什么的了
636 牛奶布丁 62
292 岑誉 60
342 夏侯邑 57
31 无天 57
128 虞中道 56
297 老头子 55
407 韦人杰 55
153 秦道罡 54
345 御剑 52
那为什么会按key排啊,我是按后台给的数据排的,怎么操作
根据 ECMA-262(ECMAScript)第三版中描述,for-in 语句的属性遍历的顺序是由对象定义时属性的书写顺序决定的。在现有最新的 ECMA-262(ECMAScript)第五版规范中,对 for-in 语句的遍历机制又做了调整,属性遍历的顺序是没有被规定的。新版本中的属性遍历顺序说明与早期版本不同,这将导致遵循 ECMA-262 第三版规范内容实现的 JavaScript 解析引擎在处理 for-in 语句时,与遵循第五版规范实现的解析引擎,对属性的遍历顺序存在不一致的问题。所以你的脚本在不同版本浏览器下运行,可能会得到不一样的结果,所以依赖对象属性顺序并不可靠,建议 rw 改成对象数组
{rw:[{"id":12,"name":"\u98ce\u6b62\u5982\u6b87","vip_level":"8","union_name":"\u9752\u8863\u697c","level":"66","renown":"93304","ticket":"0","sum_fpower":"412052","trend":0,"rank":1},
{"id":13,................}]}
这个顺序是绝对不会变的
var rw=datas.data.rw,item;
var trHtml = "";
var ary = [];
for (var j in rw) {
ary.push(rw[j]);
}
ary.sort(function(a,b){
return b.level - a.level;
});
for (var j in ary) {
var item = ary[j];
trHtml += '<tr><td class="lie2"><span class="jue_te">'+item.name+'</span></td>';
trHtml += '<td class="lie3"><span class="jue_te">'+item.level+'</span></td>';
trHtml += '</tr>';
}
这个可以,但为什么alert(j)输出0-9后便输出字符,一些关键字是什么原因
rw[j].key = j;
ary.push(rw[j]);
}