现在,当我准备要通过Ajax请求发送到web应用程序的数据时,我只是连接我的JS数组(在它们之间放置-1作为分隔符-值只能是正数,所以-1表示新数组的开始)。这对我来说似乎有点难看,所以我想知道重新修改它的最佳实践是什么。
var online1 = [];
var online2 = [];
var online3 = [];
var online4 = [];
for(i = 0 ; i < listOfPlayers.length ; i++) {
var player = listOfPlayers[i].href;
var uid = player.substring(player.lastIndexOf('=') + 1);
if(onlineStatus[i].className == "online1"){
online1.push(uid);
}
if(onlineStatus[i].className == "online2"){
online2.push(uid);
}
if(onlineStatus[i].className == "online3"){
online3.push(uid);
}
if(onlineStatus[i].className == "online4"){
online4.push(uid);
}
}
online1.push(-1);
online2.push(-1);
online3.push(-1);
online4.push(-1);
var result = online1.concat(online2, online3, online4);
//...
ajaxRequest.send("result="+result);发布于 2011-08-17 16:56:30
你可以做两件事:
JSON.stringify对其进行字符串化。您可以使用JSON.parse对其进行解析,即使服务器端解决方案也存在。在最近的浏览器中可以使用JSON,也可以作为if通用的library.例如:
var online = {1: [],
2: [],
3: [],
4: []};
for(i = 0 ; i < listOfPlayers.length ; i++) {
var player = listOfPlayers[i].href;
var uid = player.substring(player.lastIndexOf('=') + 1);
var number = onlineStatus[i].className.substring(6);
online[number].push(uid);
}
var result = JSON.stringify(online);
//...
ajaxRequest.send("result="+result);https://stackoverflow.com/questions/7090078
复制相似问题