javascript - 如何检查查询字符串是否已存在

标签 javascript jquery query-string

我有两个不同的查询字符串:?pid=?ref=。目前,我使用 window.history.pushState 添加查询字符串。如何检查是否已经存在查询字符串以避免使用 ?pid=foo?ref=bar 而不是 ?pid=foo&ref=bar

当前代码:

if (!!$.cookie('myrefcookie')) {
  var myref = $.cookie("myrefcookie")
  var target = window.location.href + '?ref=' + myref;
  window.history.pushState(null, null, target);
}

最佳答案

您可以查看window.location.search打个问号。

if (!!$.cookie('myrefcookie')) {
  var myref = $.cookie("myrefcookie");
  var query = window.location.search.indexOf('?') === -1 ? '?ref=' : '&ref=';
  var target = window.location.href + query + myref;
  window.history.pushState(null, null, target);
}

关于javascript - 如何检查查询字符串是否已存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40042464/

相关文章:

iphone - NSURL 似乎不想接受我的查询字符串

node.js - 如何保留查询字符串中的类型

c# - ASP.Net中的表单和QueryStrings

javascript - AngularJs 将过滤表达式传递给末尾带有 true 的指令

javascript - YQL JSON 脚本没有返回?

javascript - 如何让我的 Javascript 识别在我的 HTML 中选择了哪个单选按钮选项?

javascript - 防止类的所有引用受到触发函数的影响

javascript - 两个下拉列表,第二个下拉列表填充数据库中的值

javascript - FlipClock 重置倒计时

javascript - 通过JavaScript将样式top添加到其他高度元素的ID元素