webForumDet fria alternativet

Samma som PHP $_GET fast i javascript

0 svar · 5 584 visningar · startad av zcorpan

zcorpanMedlem sedan dec. 20042 245 inlägg
#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"');
}
123 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)