我想提出一個jquery Ajax調用下面的文本文件:如何使用JavaScript訪問文本文件?
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
呼叫工作正常。但是我真的不知道如何從上面的文本文件中獲取特定的值,比如說'中國'?我正在嘗試第一次。請幫助..
我想提出一個jquery Ajax調用下面的文本文件:如何使用JavaScript訪問文本文件?
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
呼叫工作正常。但是我真的不知道如何從上面的文本文件中獲取特定的值,比如說'中國'?我正在嘗試第一次。請幫助..
以下是解析數據的代碼。如果你選擇了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)//打印中國數據
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
感謝它的工作..但我仍然無法訪問像中國這樣的特殊價值,就像我之前說過的那樣。alert(paramsObj.teams);將顯示整個隊的字符串.. – anujit
這是正確的。 「中國」是價值的一部分 - 這可能會發生變化。你需要分割這個值來得到你想要的部分。 –
這就是爲什麼人們發明JSON:D –
不要用這樣的文件結構。改用JSON。即:
{
"sport":"Table Tennis",
"groups":false,
"no_groups":"",
"grp_names":[
],
"teams":[
{
"China":6157
},
{
"Finland":6158
},
{
"Sweden":6159
},
{
"Japan":6149
},
{
"Korea":6154
}
],
"Endstr":"End"
}
然後,你以後再和$ .get或$就分析它,你只需訪問:
data.sports
例如。
「中國」似乎沒有價值,它只是團隊字符串的一部分。 – David