获取url参数
源码
const querystring = require('querystring');
export const getUrlParams = (url) => {
if (!url) {
url = location.href;
}
var queryArr = url.split('?');
var querys = queryArr.length > 1 ? querystring.parse(queryArr[1]) : {};
return querys;
};
知识点
- split() 方法
1.1 定义:
split() 方法用于把一个字符串分割成字符串数组。
1.2 语法:
stringObject.split(separator,howmany)
separator: 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany: 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
1.3 返回值:
一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。
但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。
1.4 注释:
如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。 - querystring(查询字符串)| Node.js
2.1 引用:querystring 模块提供用于解析和格式化 URL 查询字符串的实用工具。 可以使用以下方式访问(引用)它:
const querystring = require(‘querystring’);
2.2 定义
querystring.parse() 方法将 URL 查询字符串 str 解析为键值对的集合。
2.3 语法
querystring.parse(str[, sep[, eq[, options]]])
str 要解析的 URL 查询字符串。
sep 用于在查询字符串中分隔键值对的子字符串。默认值: ‘&’。
eq 用于在查询字符串中分隔键和值的子字符串。默认值: ‘=’。
options
decodeURIComponent 当解码查询字符串中的百分比编码字符时使用的函数。默认值: querystring.unescape()。
maxKeys 指定要解析的键的最大数量。指定 0 可移除键的计数限制。默认值: 1000。
2.4 注释
querystring.parse() 方法返回的对象不是原型地继承自 JavaScript 的 Object。 这意味着典型的 Object 方法如 obj.toString()、 obj.hasOwnProperty() 等都没有被定义并且不起作用。
用法
const data = getUrlParams('');
const {searchType, searchContent} = data
if(searchType && searchContent){
}