webForumDet fria alternativet

Samma som PHP $_GET fast i javascript

JavaScript

0 svar · 5 586 visningar · startad av zcorpan

Medlem sedan dec. 20042 245 inlägg
Frågan#1
  var GET = {};
  (function() {
    var components = location.search.substr(1).split('&');
    var name;
    var value;
    var eqPos;
    for (var i = 0; i < components.length; ++i) {
      eqPos = components[i].indexOf('=');
      if (eqPos == -1) {
        name = components[i];
        value = '';
      } else {
        name = components[i].substr(0, eqPos);
        value = components[i].substr(eqPos+1).replace(/\+/g, ' ');
      }
      if (name != '') {
        GET[decodeURIComponent(name)] = decodeURIComponent(value);
      }
    }
  })();

%-escapning stöds och tolkas som UTF-8, som sig bör. "+" i värdet ersätts med mellanslag. Om samma namn finns flera gånger används det sista. Ett namn kan inte vara den tomma strängen (tex i "?=test&hej=du" finns det bara "hej" i GET).

Exempel på användning:

// dokumentets adress är ...?test=Hall%C3%A5+d%C3%A4r
if ('test' in GET) {
  alert(GET.test); // alert:ar "Hallå där"
} else {
  alert('Ingen query-parameter "test"');
}
340 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
208 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)