首页 > 解决方案 > 第一个查询字符串参数未使用 qs npm 包解析

问题描述

我无法使用qsnpm 包解析第一个查询字符串参数。我究竟做错了什么?

我在控制台中执行这些命令

import * as qs from './qs'
var addr = "https://www.somesite.se/?title=querystring&action=edit"
var parsed = qs.parse(addr)

执行这些命令后parsed具有以下值:

{ 'https://www.somesite.se/?title': 'querystring',
  action: 'edit' }

这很奇怪。为什么title返回的对象上没有属性?我希望 的parsed.title值为'querystring'。但事实并非如此。的parsed.title值为undefined

为什么?

标签: javascriptquery-string

解决方案


qs解析查询字符串。它不解析 URL。首先使用 URL 解析器 ( new URL(addr).search.substring(1)) 从 URL 中获取查询字符串。

qs.parse("title=querystring&action=edit")应该给你一个正确的答案。

现在我想起来......为什么还要使用qsnew URL(addr).searchParams应该已经给你解析的参数了......


推荐阅读