簡単な質問: これからどのような変数を期待しますか?
a=b&c&d=e
それは...ですか ?
a=b&c, d=e //or
a=b , c , d=e
したがって、あいまいさがあり、一連の名前がないと問題を解決できません。
更新:クエリ文字列にname=value
ペアのみが含まれ、単一のname
パラメーターがない場合は、以下のスクリプトでそれらのペアを抽出できます。
function getUriParameters( uri ){
//Some sequence of chars that can't be matched in query string
var SYN = ",,,";
var vars = {};
uri.split("=")
.map(function(value){ //Replacing last '&' by SYN value
return value.replace(/&([^&]*)$/,SYN+'$1');
})
.join("=") //Restoring uri
.split(SYN) //
.forEach(function(v){ //Storing 'key=value' pairs
vars[v.split('=')[0]] = v.split('=')[1];
// key value
});
return vars;
}
//Usage-> getUriParameters("a=b&c&d=e")
//Sample
console.log( JSON.stringify(getUriParameters("a=b&c&d=e")) );
//output -> {"a":"b&c","d":"e"}