Строка запроса в Javascript - PullRequest
       16

Строка запроса в Javascript

1 голос
/ 13 апреля 2010

Как мы можем собрать значение строки запроса в javascript. мой сценарий выглядит следующим образом http://192.168.10.5/study/gs.js?id=200 здесь я хочу собрать значение id в моем файле сценария gs.js. Для этого я использую

function getQuerystring(key, default_)
{
  if (default_==null) default_="";
  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
  var qs = regex.exec(window.location.href);
  if(qs == null)
    return default_;
  else
    return qs[1];
}
var string_value = getQuerystring('id');
alert(string_value);

Но это не получается .. Пожалуйста, кто-нибудь может исправить меня. Пожалуйста

Ответы [ 2 ]

1 голос
/ 13 апреля 2010

Эта функция получает строку запроса страницы, на которой размещен этот скрипт: она опирается на window.location.href. Кажется, что http://192.168.10.5/study/gs.js?id=200 это адрес самого скрипта, а не страницы. Для этого вам нужно сначала получить этот адрес, посмотрев на теги script в вашем документе, а затем немного изменить предыдущую функцию, чтобы получить дополнительный параметр, представляющий URL-адрес и не основанный на window.location.href.

1 голос
/ 13 апреля 2010

Из моего архива программирования :

function querystring(key) {
  var re = new RegExp('(?:\\?|&)'+key+'=(.*?)(?=&|$)','gi');
  var r = [], m;
  while ((m = re.exec(document.location.search)) != null) r[r.length] = m[1];
  return r;
}

Функция возвращает найденные значения в виде массива с нулем или более строк.

Использование:

var values = querystring('id');
if (values.length > 0) {
  // use values[0] to get the first (and usually only) value
  // or loop through values[0] to values[values.length-1]
}

или

var string_value = querystring('id').toString();
...