热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

node.jsurlsearchparamsAPI

node.jsurlsearchparamsAPI哎哎哎

node . js urlsearchparams API

哎哎哎:# t0]https://www . geeksforgeeks . org/node-js-urlsearchparams-API/

Node.js 是一个开源项目,广泛用于动态 web 应用程序的开发。Node.js 中的 URLSearchParams API 允许对 URL 查询进行读写操作。

URLSearchParams 类是一个全局对象,与以下四个构造函数之一一起使用。

施工人员:


  1. 新的 URLSearchParams(): 无参数构造函数实例化新的空 URLSearchParams 对象。

  2. new URLSearchParams(string): Accepts a string as an argument to instantiate a new URLSearchParams object.

    js
    var params = new URLSearchParams('user=abc&q=xyz');
    console.log(params.get('user'));
    console.log(params.get('q'));

    输出:

    js
    abc
    xyz


  3. new URLSearchParams(obj): Accepts an object with a collection of key-value pairs to instantiate a new URLSearchParams object. The key-value pair of obj are always coerced to strings. Duplicate keys are not allowed.

    js
    const params = new URLSearchParams({
      user: 'ana',
      course: ['math', 'chem', 'phys']
    });
    console.log(params.toString());

    输出:

    js
    user=ana&course=math%2Cchem%2Cphys


  4. new URLSearchParams(iterable): Accepts an iterable object having a collection of key-value pairs to instantiate a new URLSearchParams object. Iterable can be any iterable object. Since URLSearchParams is iterable, an iterable object can be another URLSearchParams, where the constructor will create a clone of the provided URLSearchParams. Duplicate keys are allowed.

    js
    // Using a Map object as it is iterable
    const map = new Map();
    map.set('West Bengal', 'Kolkata');
    map.set('Karnataka', 'Bengaluru');
    params = new URLSearchParams(map);
    console.log(params.toString());

    输出:

    js
    West+Bengal=Kolkata&Karnataka=Bengaluru


访问网址查询:


  • urlSearchParams.get(name): Returns the value of the first name-value pair that matches with the argument passed. If no such pair exists, null is returned.

    ```js
    const myURL = new URL(
      'https://example.org/?abc=123&abc=526');

    console.log(myURL.searchParams.get('abc'));
    ```

    输出:

    js
    123


  • urlSearchParams.getAll(name): Returns all the value of the name-value pair that matches with the argument passed. If no such pair exists, null is returned.

    js
    const myURL = new URL(
      'https://example.org/?abc=123&abc=526');
    console.log(myURL.searchParams.getAll('abc'));

    输出:

    js
    [ '123', '526' ]


  • urlSearchParams.has(name): Returns true if the argument passed matches with any existing name of the name-value pair else returns false.

    js
    const myURL = new URL(
      'https://example.org/?abc=123&xyz=526');
    console.log(myURL.searchParams.has('abc'));
    console.log(myURL.searchParams.has('pqr'));

    输出:

    js
    true
    false


操纵网址查询:


  • urlSearchParams.set(name, value): Sets the value in the URLSearchParams object associated with name to the specified value. If more than one name-value pairs exists, whose names are same as the ‘name’ argument, then the only value of first matching pair is changed, rest all are removed.

    js
    const params = new URLSearchParams(
        'abc=123&xyz=526&abc=258');
    console.log(params.toString());
    params.set('abc', 'opq');
    console.log(params.toString());

    输出:

    js
    abc=123&xyz=526&abc=258
    abc=opq&xyz=526


  • urlSearchParams.append(name, value): Appends a new name-value pair to the existing URLSearchParams query.

    js
    const params = new URLSearchParams('xyz=123');
    params.append('foo', '789');
    params.append('xyz', 'zoo');
    params.append('foo', 'def');
    console.log(params.toString());

    输出:

    js
    xyz=123&foo=789&xyz=zoo&foo=def


  • urlSearchParams.delete(name): Removes all name-value pairs whose name is same as ‘name’ argument.

    js
    const params = new URLSearchParams(
      'xyz=123&foo=789&xyz=zoo&foo=def');
    console.log(params.toString());
    params.delete('foo');
    console.log(params.toString());

    输出:

    js
    xyz=123&foo=789&xyz=zoo&foo=def
    xyz=123&xyz=zoo


  • urlSearchParams.sort(): Sorts the existing name-value pairs in-place by their names using a stable sorting algorithm.

    js
    const params = new URLSearchParams(
      'query=node&type=search&abc=programs');
    params.sort();
    console.log(params.toString());

    输出:

    js
    abc=programs&query=node&type=search


  • urlSearchParams.toString(): Returns the URL search parameters as a string, with characters percent-encoded wherever necessary.

    js
    const params = new URLSearchParams(
      'query=node&type=search&passwd[]=3456');
    console.log(params.toString());

    输出:

    js
    query=node&type=search&passwd%5B%5D=3456


迭代网址查询:


  • urlSearchParams.entries(): Returns an iterator over the entry set of the param object.

    js
    const params = new URLSearchParams(
        'query=node&type=search&passwd=3456');
    for(var pair of params.entries()) {
       console.log(pair[0]+ '-->'+ pair[1]); 
    }

    输出:

    js
    query-->node
    type-->search
    passwd-->3456


  • urlSearchParams.keys(): Returns an iterator over the key set of the param object.

    js
    const params = new URLSearchParams(
        'query=node&type=search&passwd=3456');
    for(var key of params.keys()) {
       console.log(key); 
    }

    输出:

    js
    query
    type
    passwd


  • urlSearchParams.values(): Returns an iterator over the value set of the param object.

    js
    const params = new URLSearchParams(
        'query=node&type=search&passwd=3456');
    for(var value of params.values()) {
       console.log(value); 
    }

    输出:

    js
    node
    search
    3456


  • urlSearchParams.forEach(fn[, arg]): fn is a function invoked for each name-value pair in the query and arg is an object to be used when ‘fn’ is called. It iterates over each name-value pair in the query and invokes the function.

    js
    const myURL = new URL(
      'https://example.com/?a=b&c=d&d=z');
    myURL.searchParams.forEach(
      (value, name, searchParams) => {
    console.log(name, value, 
      myURL.searchParams === searchParams);
    });

    输出:

    js
    a b true
    c d true
    d z true


  • urlSearchParamsSymbol.iterator:

    js
    const params=new URLSearchParams(
        'firstname=john&lastname=beck&gender=male');
    for (const [name, value] of params) {
      console.log(name, value);
    }

    输出:

    ```js
    firstname john
    lastname beck
    gender male

    ```



推荐阅读
  • OpenCV中的霍夫圆检测技术解析
    本文详细介绍了如何使用OpenCV库中的HoughCircles函数实现霍夫圆检测,并提供了具体的代码示例及参数解释。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • 如何在Win10系统下通过VMware 14 Pro安装CentOS 7
    本文详细介绍了在Windows 10操作系统中使用VMware Workstation 14 Pro搭建CentOS 7虚拟环境的步骤,包括所需工具、安装过程及系统配置等。 ... [详细]
  • Fiddler 安装与配置指南
    本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
  • 本文介绍了如何通过命令行有效地终止所有 Node.js 进程实例,以解决因端口冲突或其他服务冲突导致的问题。 ... [详细]
  • OBS Studio自动化实践:利用脚本批量生成录制场景
    本文探讨了如何利用OBS Studio进行高效录屏,并通过脚本实现场景的自动生成。适合对自动化办公感兴趣的读者。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
  • Python中Seaborn库的整体风格配置详解
    本文介绍了Seaborn,这是一个基于Matplotlib的Python数据可视化库,旨在简化统计图形的绘制过程。文章详细探讨了Seaborn的不同主题风格及其配置方法。 ... [详细]
  • linux网络子系统分析(二)—— 协议栈分层框架的建立
    目录一、综述二、INET的初始化2.1INET接口注册2.2抽象实体的建立2.3代码细节分析2.3.1socket参数三、其他协议3.1PF_PACKET3.2P ... [详细]
  • 利用 JavaScript 和 Node.js 验证时间的有效性
    本文探讨了如何使用 JavaScript 和 Node.js 验证时间的有效性。通过编写一个 `isTime` 函数,我们可以确保输入的时间格式正确且有效。该函数利用正则表达式匹配时间字符串,检查其是否符合常见的日期时间格式,如 `YYYY-MM-DD` 或 `HH:MM:SS`。此外,我们还介绍了如何处理不同时间格式的转换和验证,以提高代码的健壮性和可靠性。 ... [详细]
  • Hyperledger Fabric 1.4 节点 SDK 快速入门指南
    本文将详细介绍如何利用 Hyperledger Fabric 1.4 的 Node.js SDK 开发应用程序。通过最新版本的 Fabric Node.js SDK,开发者可以更高效地构建和部署基于区块链的应用,实现数据的安全共享和交易处理。文章将涵盖环境配置、SDK 安装、示例代码以及常见问题的解决方法,帮助读者快速上手并掌握核心功能。 ... [详细]
author-avatar
黑白
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有