我正在对以下文本文件进行 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
通话工作正常。但我真的不知道如何从上面的文本文件中访问一个特定的值,比如“中国”?我是第一次尝试 tis。请帮忙..
我正在对以下文本文件进行 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
通话工作正常。但我真的不知道如何从上面的文本文件中访问一个特定的值,比如“中国”?我是第一次尝试 tis。请帮忙..
这是parseParams
可用于将查询字符串拆分为数组的插件。
你可以像这样使用它:
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
不要使用这样的文件结构。请改用 JSON。IE:
{
"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
例如。
这是解析数据的代码。如果您选择 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(); 控制台.log(outObj.sport); // 打印“乒乓球” console.log(outObj.teams.china) // 打印中国数据