当然,这个问题又很多解决方式,这里说一种最简洁的方式:

对象转querystring查询字符串(get/url参数)

我看网上的方法都比较繁琐,其实可以直接使用js的URLSearchParams对象一步到位:

1 (new URLSearchParams(obj)).toString();
2
3 // test
4 console.log((new URLSearchParams({page: 'seekhub_collector', nav: 'data', size: '10', p: '1'}).toString());
5 // 'page=seekhub_collector&nav=data&size=10&p=1'

querystring查询字符串转对象

如果拿到的是完整的网址比如location.href

var url = new URL('https://www.domain.cn/qrcode/test?to=video');
url.searchParams.get('to');
// video

如果只是一段类似?to=video的querystring这个就需要自己实现了

 1         function getQueryObject(url){
2 var query = url.split('?')[1];
3 var res = {};
4
5 querys = query.split('&');
6 querys.forEach(query => {
7 var item = query.split('=');
8 res[item[0]] = item[1]; // 当然如果有中文/Unicode字符可以在这里用URIencode方法转码一下
9 });
10
11 return res;
12 }

一步到位js/javascript对象和querystring查询字符串互转(get/url参数)的更多相关文章

  1. Underscore.js(JavaScript对象操作方法)

    Underscore封装了常用的JavaScript对象操作方法,用于提高开发效率.(Underscore还可以被使用在Node.js运行环境.) 在学习Underscore之前,你应该先保存它的AP ...

  2. js操作对象属性值为字符串

    今天在项目开发中遇到一个没遇到过的问题,这个问题是需要对比两个对象a和b,a是一个只有一个属性的对象,b是一个含有多个属性对象,如果b中包含和a一模一样的属性名和值,则把这个一样的属性和值从b中删除了 ...

  3. js String对象中常用方法小结(字符串操作)

    1.charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码. strObj.charCodeAt(index) 说明: index将被处理字符的从零开始计数的编号.有效值为0到字符 ...

  4. javascript中json对象json数组json字符串互转及取值

    今天用到了json数组和json对象和json类型字符串之间互转及取值,记录一下: 1.json类型的字符串转换为json对象及取值 var jsonString = '{"bar" ...

  5. JS 将对象转换成字符 字符串转换成json对象

    //js对象 var user = { "name": "张学友", "address": "中国香港" }; //将对 ...

  6. [JS]Javascript对象与JSON的互转

    var obj = JSON.parse(json); //由JSON字符串转换为JSON对象 var json=JSON.stringify(obj); //将JSON对象转化为JSON字符 //此 ...

  7. 解决vue修改路由的查询字符串(query)url不改变,页面不刷新问题

    我个人猜测可能是对路由的数据检测深度不够吧,单纯修改query里面的属性是不能触发数据驱动的,因此要直接给query赋值新的对象才能驱动数据更新,做法如下 第一种 var query=JSON.par ...

  8. 记录javascript 验证字符串布尔类型 及url 参数获取

    /^true$/i.test("false");false/^true$/i.test("true");true //获取请求参数的值 function Req ...

  9. 编写一个参数JavaScript函数parseQueryString,它的用途是把url参数解析为一个对象

    var url = "http://www.taobao.com/index.php?key0=0&key1=1&key2=2............."; var ...

  10. javascript对象序列化(对象与JSON字符串的互换)

    前一段时间用到h5的本地存储---需要把某个js对象存储在浏览器的本地存储中,用到了javascript对象的序列化与反序列化 所谓的序列化就是将对象的状态信息转换为可以存储或传输的形式的过程,基本上 ...

随机推荐

  1. flutter真机调试出现flutter Launching 'app' on No Devices.

    1. flutter真机调试出现flutter Launching 'app' on No Devices. flutter Launching 'app' on No Devices. 我的是华为手 ...

  2. Irwin-Hall 分布/CF1477F 题解

    Irwin-Hall 分布 对于 \(n\) 个均匀分布于 \([0,1]\) 的连续随机变量 \(X_1,X_2,\dots,X_n\),其和的随机变量 \(X\) 满足: \[P(X\le x)= ...

  3. redis - [05] Java & Redis

    题记部分 一.准备工作 下载jedis.jar或者在maven配置文件中配置jar包依赖 二.连接redis import redis.clients.jedis.Jedis; public clas ...

  4. php获取详细访客信息,获取访客IP,IP归属地,访问时间,操作系统,浏览器,移动端/PC端,环境语言,访问URL等信息

    问题描述:需要获取访客访问网站信息 1.代码示例与说明: <?php header("Content-Type: text/html; charset=utf-8");    ...

  5. 又一国产AI爆火!Manus强势炸场,邀请码申请方法,看这一篇就够了!

    3月6日凌晨,一款名为Manus的国产AI产品横空出世,迅速霸榜社交平台热搜.其内测邀请码在二手交易平台被炒至5万元天价,甚至出现标价10万元的卖家,我的个乖乖啊. 究竟是什么让Manus如此火爆?今 ...

  6. Mysql导入数据的时候报错Unknown collation: 'utf8mb4_0900_ai_ci'什么问题?

    最近从线上把数据导出来想搭建到本地的时候报了这么一个错? [ERR] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci' 这个错误究竟是什么原因影响的呢? 是 ...

  7. Qt源码阅读(二) moveToThread

    Qt 源码分析之moveToThread 这一次,我们来看Qt中关于将一个QObject对象移动至一个线程的函数moveToThread 目录 Qt 源码分析之moveToThread Qt使用线程的 ...

  8. QT5.14.1+Win7 64+Oracle11gR2 Qt连接数据库

    原文链接 1.QT5.14下OCI驱动编译完整步骤 1.安装qt的时候手动选择安装源码资源(默认不安装Source的) 2.进入QT安装目录下E:\Qt5.14\5.14.0\Src\qtbase\s ...

  9. windows本地认证

    windows本地认证 本地认证概述 本地认证最简单的例子就是我们的电脑上存储着自己的账号密码,无论电脑是否联网,只要能开机,就可以输入账号密码登录到电脑中,工作组就是采用本地认证. 那认证流程是什么 ...

  10. goland JetBrains编辑器:代码爆红找不到引用,但项目可运行

    前言 goland JetBrains 编辑器:代码爆红找不到引用,但项目可运行 解决 goland 缓存已满,需要清除缓存