详解URLSearchParams

这篇具有很好参考价值的文章主要介绍了详解URLSearchParams。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  <script>
    // URLSearchParams API 用于处理 URL 之中的查询字符串,即?之后的部分。
    // 没有部署这个API的浏览器,可以用url-search-params这个垫片库。
    var paramsString = 'q=URLUtils.searchParams&topic=api';
    var searchParams = new URLSearchParams(paramsString);
    // URLSearchParams有以下方法,用来操作某个参数。
    // has():返回一个布尔值,表示是否具有某个参数
    // get():返回指定参数的第一个值
    // getAll():返回一个数组,成员是指定参数的所有值
    // set():设置指定参数
    // delete():删除指定参数
    // append():在查询字符串之中,追加一个键值对
    // toString():返回整个查询字符串

    searchParams.has('topic') // true
    searchParams.get('topic') // "api"
    searchParams.getAll('topic') // ["api"]

    searchParams.get('foo') // null,注意Firefox返回空字符串
    searchParams.set('foo', 2);
    searchParams.get('foo') // 2

    searchParams.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():遍历所有参数的键值对
    // 上面三个方法返回的都是Iterator对象。

    var searchParams = new URLSearchParams('key1=value1&key2=value2');

    for (var key of searchParams.keys()) {
      console.log(key);
    }
    // key1
    // key2

    for (var value of searchParams.values()) {
      console.log(value);
    }
    // value1
    // value2

    for (var pair of searchParams.entries()) {
      console.log(pair[0] + ', ' + pair[1]);
    }
    // key1, value1
    // key2, value2
    // 在Chrome浏览器之中,URLSearchParams实例本身就是Iterator对象,与entries方法返回值相同。所以,可以写成下面的样子。

    for (var p of searchParams) {
      console.log(p);
    }

    // 下面是一个替换当前URL的例子。
    // URL: https://example.com?version=1.0
    var params = new URLSearchParams(location.search.slice(1));
    params.set('version', 2.0);
    window.history.replaceState({}, '', `${location.pathname}?${params}`);
    // URL: https://example.com?version=2.0


    // URLSearchParams实例可以当作 POST 数据发送,所有数据都会 URL 编码。
    let params = new URLSearchParams();
    params.append('api_key', '1234567890');

    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';
  </script>

文章来源地址https://www.toymoban.com/news/detail-514408.html

到了这里,关于详解URLSearchParams的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue语法糖<script setup>详解,用最快的方式让你看懂和<script>的区别

    Vue3出来已经3年了,但是前两天在百度上搜索有关setup语法糖的细节时,发现很多博客关于语法糖细节部分,还是讲的很粗糙,因此决定自己来写一篇入门的博客,方便大家快速上手。 它是Vue3中的一个语法糖,熟悉vue3脚手架的同学,应该一眼就能看出来,vite脚手架默认创建

    2024年03月15日
    浏览(36)
  • ElasticSearch_dsl实现多字段查询去重过滤详解(script)

    ElasticSearch单字段去重详见博文:ElasticSearch单字段查询去重详解_IT之一小佬的博客-CSDN博客 ElasticSearch多字段去重详见博文:ElasticSearch多字段查询去重过滤详解_IT之一小佬的博客-CSDN博客 本博文将详细介绍使用elasticsearch_dsl进行多字段进行去重。本文示例数据详见上文单字段博

    2023年04月22日
    浏览(38)
  • GLSL用于图像处理

    顶点着色器 顶点的glsl 输入–特殊全局变量 输出–特殊全局变量 使用了attribute对gl_Position 进行赋值,可以定义三维矩形。 可变 – 表15-16顶点着色器varying全局变量 总结 用于图像处理时, 使用 gl_Position 获取外部参数定义顶点提供多边形坐标。(长方形三维坐标) 使用 可变

    2024年02月13日
    浏览(47)
  • 关于Postman Pre-request Script 请求前处理(AES加密以及HMAC-SHA256)

    目录 一 postman前置 处理 设置环境变量如下:  二 编写Postman Pre-request Script Js加密代码 三 Postman 最终参数设置以及结果演示 postman 表单请求 参数设置示例: 设置环境变量如下: params:   AES 加密后的参数 signature:  HMAC-SHA256 加密后的签名 timestamp: 时间毫秒值 secret:     加密秘钥

    2024年02月10日
    浏览(65)
  • 【论文解读】用于代码处理的语言模型综述

    目录 1.简要介绍 2.代码处理的语言模型的评估 3.通用语言模型 4.用于代码处理的特定语言模型 5.语言模型的代码特性 6.软件开发中的LLM 7.结论与挑战 ​​​​​​​ 1.简要介绍 在这项工作中,论文系统地回顾了在代码处理方面的最新进展,包括50个+模型,30个+评估任务和5

    2024年01月18日
    浏览(47)
  • 用于图像处理的Python顶级库 !!

    文章目录 前言 1、OpenCV 2、Scikit-Image 3、Scipy 4、Python Image Library(Pillow / PIL) 5、Matplotlib 6、SimpleITK 7、Numpy 8、Pandas 9、Seaborn 10、Mahotas 正如IDC所指出的,数字信息将飙升至175ZB,而这些信息中的巨大一部分是图片。数据科学家需要(预先)测量这些图像,然后再将它们放入人工

    2024年02月21日
    浏览(37)
  • 用于自然语言处理 (NLP) 的 MLOps

    自然语言处理( NLP )的人工智能关注的是计算机和人们如何用日常语言进行交流。鉴于 NLP 模型在生产系统中的部署,我们需要简化 NLP 应用程序的不断使用,从而使 MLOps(机器学习操作)对 NLP 有所帮助。在生产系统中自动创建、训练、测试和部署 NLP 模型是 MLOps for NLP 的目

    2024年02月14日
    浏览(42)
  • C#进阶-用于Excel处理的程序集

    在.NET开发中,处理Excel文件是一项常见的任务,而有一些优秀的Excel处理包可以帮助开发人员轻松地进行Excel文件的读写、操作和生成。本文介绍了NPOI、EPPlus和Spire.XLS这三个常用的.NET Excel处理包,分别详细介绍了它们的特点、示例代码以及使用方法。通过对这些程序集的比较

    2024年03月20日
    浏览(43)
  • Hadoop是一个开源的分布式处理系统,主要用于处理和存储大量数据

    Hadoop是一个开源的分布式处理系统,主要用于处理和存储大量数据。它是由Apache软件基金会开发的,现在已经成为大数据领域中广泛使用的技术之一。 Hadoop架构 Hadoop的架构包括以下几个主要组件: Hadoop Distributed File System (HDFS) : HDFS是Hadoop的核心组件之一,它是一个分布式文

    2024年02月04日
    浏览(58)
  • Keras-5-深度学习用于文本和序列-处理文本数据

    本篇学习记录为:《Python 深度学习》第6章第1节(处理文本数据) 知识点: 深度学习处理文本或序列数据的基本方法是: 循环神经网络 (recurrent neural network) 和 一维卷积神经网络 (1D convert) ; 这些算法的应用范围包括:文档分类、时间序列分类、时间序列比对、时间序列预测

    2024年02月13日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包