2010-12-15 4 views

ответ

1

здесь есть функция, которая возвращает массив переменных из URL

function getUrlVars() 
{ 
    var vars = [], hash; 
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 

    for(var i = 0; i < hashes.length; i++) 
    { 
     hash = hashes[i].split('='); 
     vars.push(hash[0]); 
     vars[hash[0]] = hash[1]; 
    } 

    return vars; 
} 
+0

Я думаю, что я тоже сделал это из формы, если это поможет любому. – IceCat 2010-12-15 19:09:31

0

У JavaScript нет собственного способа сделать это. Большинство функций, которые я видел, связаны с передачей имени параметра, который вы ищете, а затем с помощью RegEx, чтобы получить его из URL-адреса. Использование функции от:

Get URL Parameters using JavaScript

Вашего код будет выглядеть следующим образом:

var saysVal = gup('says'); 
1

This является разбор библиотекой автономного URI, который может обрабатывать любой URI вы можете себе представить (по мнению автора) и позволяет работать с URI, как вы бы объект JS (который хорошо)

Примеры:

uri = new jsUri('http://user:[email protected]:81/index.html?q=books#fragment'); 

uri.protocol(); // http 
uri.userInfo(); // user:pass 
uri.host();  // www.test.com 
uri.port();  // 81 
uri.path();  // /index.html 
uri.query(); // q=books 
uri.anchor(); // fragment 
0

Если вы используете JQuery есть плагин для этого:

https://github.com/allmarkedup/jQuery-URL-Parser

Используя это довольно легко.

Если вы хотите извлечь строку запроса из текущего URL:

jQuery.url.attr("query")

Если вы хотите извлечь строку запроса из другого URL:

jQuery.url.setUrl("http://example.com?id=123").attr("query")

Плагин может также используются для анализа других частей URI, таких как:

  • протокола (HTTP, HTTPS, ...)
  • хозяин
  • якорь

и т.д ..

  • Christian
Смежные вопросы