Как создать объект из значения местоположения / URL в JavasScript / Jquery - PullRequest
0 голосов
/ 23 апреля 2010

Мне нужен способ создать object из значения местоположения. Например, если у меня есть значение:

http://www.legis.state.pa.us/cfdocs/billinfo/bill_history.cfm?syear=2007&sind=0&body=S&type=B&bn=1'

который я получаю от doc.location.href();

Я хотел бы сделать следующий объект:

myObject = {

  syear : '2007',
  snid  : '0',
  body  : 's',
  type  : 'B',
  bn    : '1',

};

Спасибо!

D

<ч />

Прогресс

По какой-то причине я не смог заставить расширенную функцию / объект работать в моей системе . Я думаю, потому что мой код работает внутри расширения Firefox и вне контекста документа. Или, может быть, это как-то связано с jQuery.noConflict(); (я не знаю).

Но мне пришлось убрать функцию из объекта и немного отредактировать ее, чтобы она заработала для меня:

function getURLParam(URL, strParamName){

  var qString;
  var returnVal = new Array();

  if (URL==null) return null;

  if ( URL.indexOf("?") > -1 ){
    var strQueryString = URL.substr(URL.indexOf("?")+1);
    qString = strQueryString.split("&");
  }
  else {
    return null;
  }

  for (var i=0;i<qString.length; i++){
    if (escape(unescape(qString[i].split("=")[0])) == strParamName){
      returnVal.push(qString[i].split("=")[1]);
    }

  }  

  if (returnVal.length==0) return null;
  else if (returnVal.length==1) return returnVal[0];
  else return returnVal;
}

Ответы [ 2 ]

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

это может быть полезно:

http://www.mathias -bank.de / 2006/10/28 / JQuery-плагин-geturlparam /

используя вышеизложенное, вы можете легко создать хеш

0 голосов
/ 23 апреля 2010

jQuery Url Parser должен делать именно то, что вы хотите.

jQuery.url.setUrl('http://www.legis.state.pa.us/cfdocs/billinfo/bill_history.cfm?syear=2007&sind=0&body=S&type=B&bn=1').param('syear');

возвращает 2007

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...