转载自  URLSearchParams 接口

URLSearchParams 接口定义了很多个用来处理 URL 参数串的方法。


基本使用方法如下

var paramsString = "q=URLUtils.searchParams&topic=api"  // location.search.slice(1)
var searchParams = new URLSearchParams(paramsString);searchParams.has('topic') // true
searchParams.get('topic') // "api"
searchParams.getAll('topic') // ["api"]searchParams.get('foo') // null,注意Firefox返回空字符串
searchParams.set('foo', 2);
searchParams.get('foo') // 2searchParams.append('topic', 'webdev');
searchParams.toString() // "q=URLUtils.searchParams&topic=api&foo=2&topic=webdev"searchParams.append('foo', 3);
searchParams.getAll('foo') // [2, 3]searchParams.delete('topic');
searchParams.toString() // "q=URLUtils.searchParams&foo=2&foo=3"

URLSearchParams 还有三个方法返回迭代器对象:
keys() 遍历所有参数名
values() 遍历所有参数值
entries() 遍历所有参数的键值对


URLSearchParams实例可以当作POST数据发送,所有数据都会URL编码。

fetch('https://example.com/api', {method: 'POST',body: params
}).then(...)

DOM 的 a 元素节点的 searchParams 属性,就是一个 URLSearchParams 实例。

var a = document.createElement('a');
a.href = 'https://example.com?filter=api';
a.searchParams.get('filter') // "api"

URLSearchParams 还可以与 URL 接口结合使用。

var url = new URL(location);
var foo = url.searchParams.get('foo') || 'somedefault';

URLSearchParams 接口相关推荐

  1. 一种快速构造和获取URL查询参数的方法:URLSearchParams

    URLSearchParams 接口定义了一些实用的方法来处理 URL 的查询字符串. URLSearchParams()是个构造函数,将返回一个可以操作查询字符串的对象. 常用方法: 1.构造查询字 ...

  2. js快捷获取超链接参数和修改超链接(新增URLSearchParams方法获取参数)

    //https://www.baidu.com?sjry=111function GetRequest() {var url = location.search;var theRequest = ne ...

  3. vue学习之URLSearchParams

    URLSearchParams 接口定义了一些实用的方法来处理 URL 的查询字符串. 一个实现了 URLSearchParams 的对象可以直接用在 for-of 结构中,例如下面两行是相等的: f ...

  4. axios.post发送请求,axios发送post请求, 携带参数传递给接口

    vue 中使用axios 发送post 请求需要使用 qs 模块 将参数 转序列化   发送给 后端 否则接口会出现收不到参数的情况 import qs from "qs"    ...

  5. Javascript对象的查询字符串编码

    您是否知道将Javascript对象编码为可通过GET请求传递的string的快速简便的方法? 没有jQuery ,没有其他框架-仅是纯Javascript :) #1楼 如果要递归转换嵌套对象,并且 ...

  6. axios,vue-axios在项目中的应用

    Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 关于axios的功能: 1,从浏览器中创建XMLHttpRequests 2,从node.js常见Htt ...

  7. axios源码中的10多个工具函数,值得一学~

    大家好,我是若川.最近组织了源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列> ...

  8. 计算机毕设项目:毕业论文管理系统(二)

    上一篇文章,介绍了这个毕设的功能.这篇文章就简单的说一下,前后端分离的做法. 首先,链接在此:参考别的博主做的如何开发一个前后端分离的项目. SpringBoot项目搭建后端项目 Vue脚手架搭建前端 ...

  9. 四种请求方式 get、post、put、delete 的用法及区别(全)

    get请求方式 GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改.增加数据,不会影响资源的内容,即该请求不会产生副作用.无论 ...

最新文章

  1. DeepMind、哈佛造出了 AI「小白鼠」,从跑、跳、觅食、击球窥探神经网络的奥秘...
  2. chrome 浏览器自保留端口、安全端口有哪些?chrome不能访问某个端口的环境网址,但是其它的浏览器可以访问原因及解决办法
  3. 【PC工具】传说中最好的编程手册管理软件Zeal,支持194种编程文档,学习编程语法查阅必备工具...
  4. if语句 power query_PowerQuery学习:认识M函数
  5. 努比亚z17s刷原生安卓_MIUI 10抢先适配安卓Q,米粉火速刷机,存在这些问题
  6. ListView和GridView的缓存机制及measure过程
  7. Unity基础之:UnityAPI的学习
  8. 判断是否获取到手机相机权限
  9. 基于linux的地震数据处理软件的设计与实现,地震数据处理软件系统与应用实验指导书...
  10. Linux系统管理-(12)-网络配置IP命令
  11. png文件合并_程序员学习之在Python中使用PDF:阅读、旋转、合并和拆分
  12. [py]flask从0到1-模板/增删改查
  13. php怎么设置浏览器禁止打开新窗口,JS打开新窗口防止被浏览器阻止的方法_javascript技巧...
  14. mysql 报表工具_Navicat功能:报表创建工具
  15. 记小米公司的一次「测试开发工程师」面试
  16. 演讲者模式投影到幕布也看到备注_PPT制作技巧:如何实现ppt放映不同界面(演讲者模式)?...
  17. 联通混改旗开得胜,这也太容易了!
  18. IBM PureApplication System如何使用DNS将工作负载部署到数据中心的网络上
  19. 用python画好看的图片,几张好看的HTML图片和利用Python画的好看的图
  20. 解决docker-compose up -d 出现Client.Timeout exceeded while awaiting headers的问题(配置docker国内镜像源)

热门文章

  1. 81. 搜索旋转排序数组 II(014)二分查找+思路+详解+二种做法
  2. 10分钟带你探索css中更为奇妙的奥秘
  3. [Java基础]Lambda表达式和匿名内部类的区别
  4. LeetCode 82 删除排序链表中的重复元素||-中等
  5. 圆桌会议 HDU - 1214(规律+模拟队列)
  6. word List 13
  7. Block Coordinate Descent
  8. P3591 [POI2015]ODW(分块)
  9. 【HNOI2019】白兔之舞【组合数学】【矩阵快速幂】【单位根反演】【Chirp Z-Transform】【原根】【MTT】
  10. 【NOI2019】斗主地【期望】【组合数学】【下降幂】【插值】