我正在对以下文本文件进行jquery ajax调用:
sport=Table Tennis&groups=no&no_groups=&grp_names=&teams=1^China^6157~2^Finland^6158~3^Sweden^6159~4^Japan^6149~5^Korea^6154&Endstr=End
通话工作正常。但我真的不知道如何从上面的文本文件中获取特定值,比如说'中国'?我是第一次尝试这个。请帮忙..
答案 0 :(得分:1)
Here is the parseParams
plugin,您可以使用它将查询字符串拆分为数组。
你可以像这样使用它:
var querystring = 'sport=Table Tennis&groups=no&no_groups=&grp_names=&teams=1^China^6157~2^Finland^6158~3^Sweden^6159~4^Japan^6149~5^Korea^6154&Endstr=End';
var paramsObj = $.parseParams(querystring);
alert(paramsObj.sport); // = Table Tennis
答案 1 :(得分:1)
请勿使用此类文件结构。请改用JSON。即:
{
"sport":"Table Tennis",
"groups":false,
"no_groups":"",
"grp_names":[
],
"teams":[
{
"China":6157
},
{
"Finland":6158
},
{
"Sweden":6159
},
{
"Japan":6149
},
{
"Korea":6154
}
],
"Endstr":"End"
}
然后,在使用$ .get或$ .ajax解析它之后,您只需访问:
data.sports
例如。
答案 2 :(得分:0)
以下是解析数据的代码。如果您选择JSON作为返回数据,那将是直截了当的。
function myParser() {
var str = "sport=Table Tennis&groups=no&no_groups=&grp_names=&teams=1^China^6157~2^Finland^6158~3^Sweden^6159~4^Japan^6149~5^Korea^6154&Endstr=End";
var arPairs = str.split("&");
var outObj = {};
for (var i=0; i < arPairs.length; i++) {
var arTemp = arPairs[i].split("=");
var key = arTemp[0];
var value = arTemp[1];
if (key === "teams") {
arTemp = value.split("~");
var teamObj = {};
for (var j=0; j < arTemp.length; j++) {
var arTeamData = arTemp[j].split("^");
teamObj[arTeamData[1]] = arTeamData[2];
}
value = teamObj;
}
outObj[key] = value;
}
return outObj;
}
输出:是一个包含所有数据的数组。您可以将其称为:
var outObj = myParser(); 的console.log(outObj.sport); //打印“乒乓球” console.log(outObj.teams.china)//打印中国数据