从URL中提取参数与将对象转换为URL查询参数的实现代码

从URL中提取参数的实现代码

通过JavaScript代码解析URL获取参数是一种很常见的操作,我们可以通过以下操作来提取URL中的参数:

1.使用window.location.search获取查询字符串部分,该部分包含了所有请求参数。例如,我们可以使用以下代码来获取URL地址中的search字符串:

let searchStr = window.location.search;

2.使用URLSearchParams API将查询字符串解析成对象,然后可以使用get()方法获取指定参数的值。

例如,如果我们的URL地址是https://www.example.com/search?q=JavaScript&lang=en,我们可以使用以下代码来获取q和lang两个参数的值:

let searchParams = new URLSearchParams(window.location.search);
let query = searchParams.get('q'); // "JavaScript"
let language = searchParams.get('lang'); // "en"

将对象转换为URL查询参数的实现代码

在开发中,我们经常需要将对象转换为URL查询参数,以便将其附加到URL请求中。 我们可以通过以下方法将对象转换为查询参数:

1.使用Object.entries()方法将对象转换为数组,其中每个元素都是[key, value]的形式。

const obj = {
  name: 'Tina',
  age: 23,
  email: 'tina@example.com'
};

const entries = Object.entries(obj);

2.使用map()方法和encodeURIComponent()方法将数组转换为查询参数组件。

const params = entries.map(entry => {
  return `${encodeURIComponent(entry[0])}=${encodeURIComponent(entry[1])}`;
}).join('&');

例如,对于上面的obj对象,params的值将是 name=Tina&age=23&email=tina%40example.com

示例说明

示例1:从URL中提取参数

假设我们的URL地址是https://www.example.com/product?id=123&name=Smartphone,我们需要从中提取id和name两个参数的值。

实现代码如下所示:

let searchParams = new URLSearchParams(window.location.search);
let productId = searchParams.get('id'); // "123"
let productName = searchParams.get('name'); // "Smartphone"
console.log(`Product ID: ${productId}, Product Name: ${productName}`);

示例2:将对象转换为URL查询参数

假设我们有一个名为user的对象,它包含用户的姓名、年龄和电子邮件地址等信息,我们需要将其转换为查询参数。

实现代码如下所示:

const user = {
  name: 'Tina',
  age: 23,
  email: 'tina@example.com'
};

const entries = Object.entries(user);
const params = entries.map(entry => {
  return `${encodeURIComponent(entry[0])}=${encodeURIComponent(entry[1])}`;
}).join('&');

console.log(params); // "name=Tina&age=23&email=tina%40example.com"

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:从URL中提取参数与将对象转换为URL查询参数的实现代码 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • js jquery数组介绍

    JavaScript 和 jQuery 数组介绍 在 JavaScript 和 jQuery 中,数组是一个强大的数据类型,它可以保存多个值,并且可以轻松地进行操作和访问这些值。本篇文章将介绍如何使用 JavaScript 和 jQuery 的数组,并且提供一些案例来帮助你更好的理解它们。 如何创建 JavaScript 和 jQuery 数组 在 Java…

    JavaScript 2023年5月27日
    00
  • 正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)

    正则表达式是一种用来描述、匹配一定模式文本的一种语法。在正则表达式中,有许多特殊符号用来表示常见的字符集、重复次数等,下面我们就来详细讲解一下正则表达式中的特殊符号以及几种常用的正则表达式方法。 正则表达式中的特殊符号 “^”:表示匹配字符串的开头。 “$”:表示匹配字符串的结尾。 “.”:表示匹配任意单个字符。 “*”:表示匹配前一个字符出现0次或多次。 …

    JavaScript 2023年6月10日
    00
  • 普通js文件里面如何访问vue实例this指针

    在普通js文件中,如果需要访问Vue实例的数据或者方法,需要通过Vue实例的引用来获取this指针。 一、通过Vue.createApp创建Vue实例 如果我们通过Vue.createApp创建Vue实例,我们可以使用provide和inject来将Vue实例注入到普通js文件中,使其能够访问Vue实例。具体步骤如下: 在Vue.createApp中使用pr…

    JavaScript 2023年6月11日
    00
  • JS实现时间选择器

    JS实现时间选择器的攻略需要遵守以下步骤: 1. 准备工作 首先需要在页面中引入需要用到的JS库,例如jQuery或者Zepto。可以通过CDN或者下载本地使用。 2. 创建HTML结构 时间选择器需要一个输入框来显示选中的时间,同时还需要一个弹窗来显示时间选择器控件。HTML结构可以按照以下方式构建: <div class="form-gr…

    JavaScript 2023年5月27日
    00
  • 我的第一个项目(十一) :飞机大战分包完成(简单阐述分包思路以及过程)

    好家伙,   代码已开源 Git: https://gitee.com/tang-and-han-dynasties/panghu-planebattle-esm.git NPM: panghu-planebattle-esm – npm (npmjs.com)   现在,比如说,我用Vue写好了个人博客主页的前端 我想在这个主页里面加点东西,让我的博客更缤…

    JavaScript 2023年4月19日
    00
  • 仅IE不支持setTimeout/setInterval函数的第三个以上参数

    首先需要明确,setTimeout和setInterval函数的第三个以上参数在所有现代浏览器和IE9以上版本均被支持。但是,在IE9及以下版本中,第三个以上参数并不会被当做函数的参数传递进去,而是被当做全局对象属性传递进去。 解决方法是在第三个以上参数中传入一个字符串类型的函数参数,在函数内通过eval方法执行即可。 以下是简单的示例说明: 传递一个字符串…

    JavaScript 2023年6月11日
    00
  • javascript+php实现根据用户时区显示当地时间的方法

    实现根据用户时区显示当地时间的方法需要以下步骤: 获取用户的时区 使用Javascript的Date对象获取用户所在时区的偏移量。代码如下: var d = new Date(); var timezoneOffset = d.getTimezoneOffset() / 60; 其中getTimezoneOffset()方法返回的是分钟,所以需要将其转化为小…

    JavaScript 2023年6月11日
    00
  • js中apply和Math.max()函数的问题及区别介绍

    JS中的apply方法可以扩展函数的功能,它允许你在一个对象的上下文中运行函数,并将参数作为数组传递。 Math.max()函数用于返回一组数中的最大值,在使用时可以通过apply方法传递一个数组作为参数。下面将会介绍这两个函数的问题及区别。 apply方法的使用 function myFunction(a, b, c) { console.log(a + …

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部