Доступ к значениям CGI с помощью Prototype

Кто-нибудь знает самый быстрый способ получить значение переменной CGI в текущем URL-адресе с помощью Prototype? Итак, если меня перенаправят на страницу со следующим URL-адресом:

http://mysite.com/content?x=foobar

Меня интересует получение значения «x» (должно быть «foobar») в функции, вызываемой при загрузке страницы, например:

Event.observe(window, "load", my_fxn ());

Спасибо


person nedblorf    schedule 08.10.2009    source источник


Ответы (2)


Вы можете взглянуть на метод parseQuery. Это должно сделать все разделение, которое вы ожидаете от стандартной строки запроса, такой как document.location.search

http://api.prototypejs.org/language/string.html#parsequery-instance_method

Например:

document.location.search.parseQuery()["x"];

Будет неопределенным, если его нет, и должно быть значением в противном случае.

person mczepiel    schedule 09.10.2009

Я не смог найти здесь никаких ярлыков, поэтому в конце концов я просто проанализировал URL-адрес с помощью js следующим образом:

function my_fxn () { 

  var varsFromUrl = document.location.search;

  // get rid of first char '?'                                                  
  varsFromUrl = varsFromUrl.substring(1);

  var pairsArray = varsFromUrl.split("&");

  for (i = 0; i < pairsArray.length; i++) {
    var pair = pairsArray[i].split("=");
    if (pair[0] == "x")
      alert(pair[1] + ' is what I want.');
  } 
}
person nedblorf    schedule 08.10.2009