JS获取地址栏url参数

JavaScript012

JS获取地址栏url参数,第1张

本章内容分为三部分: 开始之前先简单了解一下 如:url地址: http://xxxxx:9010/test.html?leaf&le=2window.location.search获取到的就是 ?leaf&le=2 window.location.search.substr(1)获取到的就是 leaf&le=2 一、JS获取地址栏url参数: 如果你想获取地址栏的其他参数,只需要执行 var 参数=getUrlParam('参数') 比如获取参数a,执行 var a=getUrlParam('a') 就可以啦。简单又实用。 二、解决请求接口乱码问题 但是在我请求接口数据的时候,页面获取到是类似???这种乱码。 然后我是这样解决的: 1、发送方decodeURI编码: 2、接收方encodeURI解码 根据后台接口拼接url中使用encodeURI: 三、关于根据后台接口拼接url 整理笔记,不断优化更新。如果有错误或可以优化的地方欢迎指出,互相学习,共同进步。 如果对你有用就点个小心心吧❤

我们在处理url的跳转时,往往会在url后面带着很多参数。有时候需要把这些参数转化成对象当作参数进行跳转或其他之用,比如angular2的 routerLink的地址是不带参数的,参数写在 queryParams里,这时候就需要对url进行处理。

当然可能还有其他地方可能会用到此类转换。

下面介绍对于url参数的几种转换方法

1.   js处理,利用split()和循环实现

结果 { a: 10 , b :2}

2.  利用querystring

     querystring是在node封装好的一个模块,有处理string的方法直接处理这种地址

这种方法可以直接进行处理

参考链接 Query String       querystring 模块的使用

3. 利用lodash处理

结果也是正确的。

不过lodash不会,所以把别人提供的方法放在这,再来在细细研究lodash

此方法已更新至文章  Lodash使用入门

参考链接   lodash文档

假如有这么一个请求: http://localhost:8080/appWeb/text/hello.jsp?name=join

在jsp页面接收url参数,可以使用这样的方法:

在jsp中可以这样使用:<body>hi,<%=name%></body>

注:<%=name%>不能防御XSS攻击

当然也可以在<body>中使用 ${param.name} 方法来获得,这里的param 是隐含对象,相当于reques.getParameter()方法。如:

此时如果url参数包含中文的话就需要进行转码操作,如下:

英文不需要转码操作,但是建议始终进行转码操作,这样处理起来会方便很多。