如何检查url查询字符串是不是等于javascript(或jquery)[重复]

Posted

技术标签:

【中文标题】如何检查url查询字符串是不是等于javascript(或jquery)[重复]【英文标题】:How to check if url query string equals something with javascript (or jquery) [duplicate]如何检查url查询字符串是否等于javascript(或jquery)[重复] 【发布时间】:2021-10-12 19:40:09 【问题描述】:

我知道这个问题似乎有点绕,但 90% 的答案都指向一个对我不起作用的解决方案 (indexof > -1)。

if ( window.location.href.indexOf("product=3") > -1 || window.location.href.indexOf("product=2") > -1 ) 
    alert('success');
else 
  alert('nothing');

问题在于,对于产品 30,这也会提示成功。

是否有一个简单的解决方案可以检测 url 查询字符串中的完全匹配。

例如

mycoolsite.com/cart/?type=buynow&product=30

如果乘积等于 30,我们如何使用 javascript 或 jquery 进行检查?

【问题讨论】:

欢迎来到 Stack Overflow。我建议查看***.com/questions/4656843/… 使用最佳答案,您可以获得所有值,所以现在您可以检查它是3 还是30 感谢@Twisty,非常有帮助。在我的搜索中没有看到这个。已经应用它并且效果很好。谢谢! 【参考方案1】:

使用以下内容:Get querystring from URL using jQuery

我建议如下:

$(function() 
  function getUrlVars(url) 
    var vars = ,
      hash;
    if (url.indexOf("?") < 0) 
      return false;
    
    var hashes = url.substring(url.indexOf("?") + 1)
    $.each(hashes.split("&"), function(i, v) 
      hash = v.split('=');
      vars[hash[0]] = hash[1];
    );
    //console.log(url, hashes, vars);
    return vars;
  

  var queryData;
  queryData = getUrlVars(window.location.href + "?buynow&product=3");
  console.log(queryData);
  queryData = getUrlVars(window.location.href + "?buynow&product=3&product=2");
  console.log(queryData);
  queryData = getUrlVars(window.location.href + "?buynow&product[]=3&product[]=2");
  console.log(queryData);
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="result"></div>

此代码有一些注意事项。正如您在我的测试中看到的那样,如果您有多个项目,如果相同的变量名称或索引,它将覆盖其他值。它也不会在数组中读取。您可以为此添加一个检查并编写一个函数来处理数组部分。

如果您的 Query Hash 总是更基本的,这可以很好地工作。

【讨论】:

【参考方案2】:

已按照 Twisty 在 cmets 中的推荐使用了这篇文章中的功能,并且效果很好。

Get querystring from URL using jQuery

【讨论】:

以上是关于如何检查url查询字符串是不是等于javascript(或jquery)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何检查我的字符串是不是等于null?

如何检查一个字符是不是等于一个空格?

如何进行`if`检查键入的单词是不是等于C中字符串列表中的某个单词? [复制]

如何检查字符串是不是不等于 java 中的对象或其他字符串值?

流星模板,检查值是不是等于字符串

如何检查元素是不是可见并使用 JQuery 检查 URL 是不是包含字符串?