Javascript 如何从JavasScript/Jquery中的location/URL值创建对象

Javascript 如何从JavasScript/Jquery中的location/URL值创建对象,javascript,jquery,object,Javascript,Jquery,Object,我需要一种从位置值创建对象的方法。例如,如果我有以下值: “?syear=2007&sind=0&正文=S&类型=B&bn=1” 这是我从doc.location.href()获得的 我想提出以下目标: myObject = { syear : '2007', snid : '0', body : 's', type : 'B', bn : '1', }; 谢谢 D 进展 由于某种原因,我没能让这辆车进去工作。我认为这是因为我的代码在firefox扩展中运

我需要一种从位置值创建
对象的方法。例如,如果我有以下值:

“?syear=2007&sind=0&正文=S&类型=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;
}
函数getURLParam(URL,strParamName){ var-qString; var returnVal=新数组(); if(URL==null)返回null; if(URL.indexOf(“?”>-1){ var strQueryString=URL.substr(URL.indexOf(“?”)+1); qString=strQueryString.split(“&”); } 否则{ 返回null; } 对于(var i=0;i这可能有用:

使用上面的方法,您可以轻松地构造hash,hash应该完全满足您的需要

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

这正是我要找的。源代码非常小。谢谢!