在JS中获取没有值的URL参数[重复]

Posted

技术标签:

【中文标题】在JS中获取没有值的URL参数[重复]【英文标题】:Get URL parameters in JS that don't have values [duplicate] 【发布时间】:2016-03-05 14:04:51 【问题描述】:

我正在尝试获取 URL 中的所有参数,即使它们没有使用 javascript 的值。

http://example.com/?Germany&France&Norway&Sweden

此 URL 包含 4 个参数以及一些国家/地区的名称。我想在 JavaScript 中获取这个国家列表,理想情况下是一个数组。有许多示例从键值参数中检索值,您必须在其中提供键并且某些正则表达式将返回值。

【问题讨论】:

到目前为止你尝试过什么? 你尝试了什么,你在哪里卡住了?你能告诉我们一些你已经做过的例子吗? 关于如何在 JS 中解析查询参数的例子可能有数不胜数。仅仅因为您没有值不会使键更加特别... var countries = location.search.substring(1).split("&"); 【参考方案1】:

试试这个:

function noValParams(url) 
  var noValue = [];
  var qp = x.split("?")[1];
  [].forEach.call(qp.split("&"), function (inst) 
    if (inst.indexOf("=") == -1 || inst.indexOf("=") == inst.length - 1) 
      noValue.push(inst);
    
  );
  return noValue;

Live fiddle

?分割URL并取索引1。然后用&分割剩余部分并检查=的位置。它不应该存在,或者应该是最后一个索引。

此函数将返回一个值为空的参数数组。

【讨论】:

【参考方案2】:

尝试使用split()

var my_string = "http://example.com/?Germany&France&Norway&Sweden";
var parameters = my_string.split('?')[1];
var params_array = parameters.split('&');
//["Germany","France","Norway","Sweden"]

希望这会有所帮助。

【讨论】:

以上是关于在JS中获取没有值的URL参数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

JS获取URL中参数值的4种方法

使用 JS 获取 URL 参数 [重复]

js获取url的参数和值的N种有效方法

如何获取没有值的 URL 参数?

有没有开源方法能直接获取url的参数值

get与post 获取参数值的方式