js获取Get值的方法

下面是关于“JS获取Get值的方法”的完整攻略:

什么是Get请求

在Web开发中,我们常常需要通过URL传输数据。传输的方式有两种,一种是GET请求,另一种是POST请求。其中,GET请求通常用于获取数据,POST请求则通常用于提交数据。在GET请求中,数据是通过URL传递的,因此可以通过解析URL中的参数来获取数据。

JS获取Get值的方法

在JavaScript中,可以通过location.search属性来获取URL中的查询字符串,查询字符串一般包含了通过GET请求传递的数据。查询字符串以?开头,后面跟着一系列的key=value键值对,多个键值对之间用&符号连接。

例如,在以下URL中:

http://www.example.com?name=张三&age=20

查询字符串为?name=张三&age=20,其中nameage为两个键,对应的值分别为张三20

JavaScript可以通过以下代码来获取查询字符串:

let search = location.search;
console.log(search); // 输出:?name=张三&age=20

为了方便获取单个键值对的值,我们可以将查询字符串转换为JavaScript对象,通过对象的键名来获取对应的值。可以使用以下代码来实现:

function getQueryStringArgs() {
  // 去掉查询字符串开头的?
  let qs = (location.search.length > 0 ? location.search.substring(1) : ""),
  args = {},
  items = qs.length ? qs.split("&") : [];
  items.forEach(function(item, i) {
    let itemArr = item.split("="),
          name = decodeURIComponent(itemArr[0]),
          value = decodeURIComponent(itemArr[1]);
    if (name.length) {
      args[name] = value;
    }
  });
  return args;
}

上面的函数将查询字符串转换为一个对象,并返回这个对象。使用时,可以通过对象的键来获取对应的值。例如,在以下URL中:

http://www.example.com?name=张三&age=20

可以使用以下代码来获取nameage的值:

let args = getQueryStringArgs();
console.log(args.name); // 输出:张三
console.log(args.age); // 输出:20

示例说明

以下是两个获取GET请求参数值的示例:

示例一

以下是一个具体的例子,假设URL为:

http://www.example.com/index.html?key1=value1&key2=value2

我们可以使用以下代码来获取参数值:

let args = {};
let query = location.search.substring(1); // 去掉?号

// 将参数分割成数组
let pairs = query.split('&');

// 提取每个键值对中的key和value,并将它们作为属性和属性值添加到args对象中
for (let i = 0; i < pairs.length; i++) {
  let pos = pairs[i].indexOf('=');
  if (pos === -1) continue;
  let name = pairs[i].substring(0, pos);
  let value = pairs[i].substring(pos + 1);
  args[name] = value;
}

console.log(args.key1); // 输出:value1
console.log(args.key2); // 输出:value2

示例二

假设我们的URL为:

http://www.example.com/index.html?name=John&age=25

我们可以使用以下代码来获取参数值:

let params = new URLSearchParams(window.location.search);

let name = params.get('name');
let age = params.get('age');

console.log(name); // 输出:John
console.log(age); // 输出:25

以上就是获取GET请求参数值的两个示例,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js获取Get值的方法 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 浅谈layui 绑定form submit提交表单的注意事项

    浅谈layui 绑定form submit提交表单的注意事项 简介 Layui是一个简洁易用、界面优美的前端UI框架,由于其易于上手,成为了很多前端工程师首选框架之一。在Layui中,表单提交是一个常见的操作,而绑定表单提交的事件则是经常使用到的操作。本文将会简单介绍在Layui中,绑定form submit提交表单的注意事项。 使用方式 通常情况下,在La…

    JavaScript 2023年6月10日
    00
  • Javascript立即执行函数(IIFE)实例详解

    Javascript立即执行函数(IIFE)实例详解 在Javascript中,立即执行函数指的是定义完函数后立即自动调用该函数,避免了函数命名污染全局变量的问题,同时可以更好地保护函数内部的变量隐私和封装性。下面就是关于Javascript立即执行函数的详细攻略。 什么是Javascript立即执行函数 Javascript立即执行函数的定义格式如下: (…

    JavaScript 2023年5月27日
    00
  • JavaScript你不知道的一些数组方法

    下面是详细讲解“JavaScript你不知道的一些数组方法”的完整攻略。 一、前言 JavaScript 中数组是非常常用的数据结构,JS 对数组的操作也非常丰富。其中一些方法在日常的开发中比较常见,比如push、pop、shift和unshift等等,但是还有一些方法很少被知道或使用,这些方法不仅可以提高效率,还可以让代码更加优美。 本篇攻略主要介绍 Ja…

    JavaScript 2023年5月27日
    00
  • js实现前面自动补全位数的方法

    下面是详细讲解“js实现前面自动补全位数的方法”的完整攻略。 1. 简介 前置自动补全位数的方法就是指在数字前面添加相应数量的“0”,使得数字的位数达到指定的长度。在程序开发中,通常需要对数字进行前置自动补全位数操作,比如在电子表格中,在文件名中,签到表单中等等。 JavaScript提供了多种方法来完成这个任务,我们将介绍其中两种方法。 2. 方法一:利用…

    JavaScript 2023年5月28日
    00
  • javascript中的previousSibling和nextSibling的正确用法

    让我为您详细讲解一下“JavaScript中的previousSibling和nextSibling的正确用法”。 previousSibling和nextSibling的定义 在JavaScript中,previousSibling和nextSibling是DOM节点属性,用于获取兄弟节点中的前一个和后一个节点。 previousSibling:获取上一个…

    JavaScript 2023年6月10日
    00
  • js Math数学简单使用操作示例

    下面是关于“js Math数学简单使用操作示例”的完整攻略。 一、Math对象概述 JavaScript的内置对象之一是Math对象,它包含了许多常见的数学函数和常量。Math主要对数字进行操作,例如数学运算、幂运算、三角函数等。 二、Math对象中的常用方法 下面是 Math 对象中一些常用方法的介绍: 1. Math.floor() Math.floor…

    JavaScript 2023年5月27日
    00
  • 借助script进行Http跨域请求:JSONP实现原理及代码

    下面是“借助script进行Http跨域请求:JSONP实现原理及代码”的完整攻略。 什么是JSONP? JSONP是一种解决跨域请求的方法,其原理是利用标签的src属性不受同源策略的限制来实现跨域请求。在JSONP中,客户端通过动态创建script标签,向服务端发送一个请求,并指定一个回调函数的名称。服务端接收到请求后,将数据作为参数传递给指定的回调函数,…

    JavaScript 2023年5月27日
    00
  • JS高级笔记

    关于“JS高级笔记”的完整攻略,以下是一些需要注意的重点: 1. 确定学习JS高级笔记的前置知识 在学习JS高级笔记之前,需要掌握JavaScript的基础语法、DOM操作、事件处理、AJAX等相关基础知识。只有理解这些基础知识,才能更好地理解JS高级笔记中的概念和实现方式。 2. 学习JavaScript的面向对象编程 JS高级笔记的很多内容都是基于Jav…

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