如何使用javascript访问文本文件?

时间:2012-12-12 09:40:43

标签: javascript jquery ajax

我正在对以下文本文件进行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

通话工作正常。但我真的不知道如何从上面的文本文件中获取特定值,比如说'中国'?我是第一次尝试这个。请帮忙..

3 个答案:

答案 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)//打印中国数据