如何从jQuery中的查询字符串中获取值

时间:2019-03-10 14:13:25

标签: jquery

我正在将username的值传递到查询字符串中,但无法在jquery中获取名称的值。

这是我的网址

https://dev.hudpowerbid.com/front-end-pm/?fepaction=newmessageShami%20Kothari

我只想得到Shami Kothari

这是我在查询字符串中附加名称的方式

var name= jQuery(this).parent().siblings(".htb200").html();
window.location.href ='https://example.com/front-end-pm/?fepaction=newmessage'+name;

这就是我现在要在jQuery中添加名称的url

这就是我获取价值的方式。

function getUrlVars() {
var url = 'https://example.com/front-end-pm/?fepaction=newmessage'+name;
var vars = {};
var hashes = url.split("?")[1];
var hash = hashes.split('&');

for (var i = 0; i < hash.length; i++) {
params=hash[i].split("=");
vars[params[0]] = params[1];
}
return vars;
}

1 个答案:

答案 0 :(得分:1)

您的问题是,您没有在查询字符串中将键“名称”分配给值“ Shami Kothari”,而是当前仅将其附加到另一个值的末尾。要将键“名称”添加到查询字符串中,可以使用&指定另一个键值对:

window.location.href ='https://example.com/front-end-pm/?fepaction=newmessage&name='+name;

这样,当您尝试获取名称时,它将查找键“名称”并检索值,即"Shami Kothari"

请参见下面的工作示例:

function getUrlVars() {
  var name = "Shami Kothari";
  var url = 'https://example.com/front-end-pm/?fepaction=newmessage&name=' + name;
  var vars = {};
  var hashes = url.split("?")[1];
  var hash = hashes.split('&');

  for (var i = 0; i < hash.length; i++) {
    params = hash[i].split("=");
    vars[params[0]] = params[1];
  }
  return vars;
}

console.log(getUrlVars());