0

我正在对以下文本文件进行 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。请帮忙..

4

3 回答 3

1

这是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
于 2012-12-12T09:45:35.190 回答
1

不要使用这样的文件结构。请改用 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

例如。

于 2012-12-12T09:48:13.083 回答
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(); 控制台.log(outObj.sport); // 打印“乒乓球” console.log(outObj.teams.china) // 打印中国数据

于 2012-12-12T10:03:31.303 回答