Autor | Zpráva | ||
---|---|---|---|
vacjos Profil * |
#1 · Zasláno: 28. 7. 2009, 10:11:56
Ahoj,
nemohl by mi někdo poradit, jak získat proměnné v javascriptu z url jinak než pomocí: Příklad url: http://www.web.cz/index.php?x=1&y=2&z=3 var pole; var httpGetVars; var x; var y; var z; function get() { pole = window.location.search.substr(1).split('&'); httpGetVars = new Array(); for (i = 0; i < pole.length; i++) {httpGetVars[pole[i].split('=')[0]] = unescape(pole[i].split('=')[1]);} x = httpGetVars['x']; y = httpGetVars['y']; z = httpGetVars['z']; } get(); Na této funkci mi vadí to, že v ní musím vypisovat všechny názvy proměnných. Chtěl bych tuto funkci nějak zuniverzálnit, např. podobně jak to používám v php přes funkci: <?php if (isset($_GET)) { reset ($_GET); while (list ($key, $val) = each ($_GET)) {$$key = $val;} } ?> Tato funkce sama vytvoří jednotlivé proměnné a naplní je jejich hodnotami, přitom dopředu nemusím žádnou z proměnných deklarovat, tj. mám url 1: http://www.web.cz/index.php?x=1&y=2&z=3 tak mi to vytvoří $x=1; $y=2; $z=3; url 2: http://www.web.cz/index.php?a=0&y=1&c=2&d=3 tak mi to vytvoří $a=0; $b=1; $c=2; $d=3; ... Jde to nějak podobně zapsat i v javascriptu? |
||
vacjos Profil * |
#2 · Zasláno: 28. 7. 2009, 11:46:42
Tak už jsem si to našel sám:
var queryStringList = {}; function get() { var url = window.location.toString(); url.match(/\?(.+)$/); var params = RegExp.$1; var params = params.split('&'); for (var i = 0; i < params.length; i++) { var tmp = params[i].split('='); queryStringList[tmp[0]] = unescape(tmp[1]); } for(var i in queryStringList) {window[i] = queryStringList[i];} } get(); |
||
Časová prodleva: 15 let
|
0