js如何获取请求中的url以及参数

JavaScript09

js如何获取请求中的url以及参数,第1张

方法一、正则表达式

function getQueryString(name) {

var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i")

var r = window.location.search.substr(1).match(reg)

if (r != null) return unescape(r[2])

return null

}

方法二、

<Script language="javascript">

function GetRequest() {

var url = location.search//获取url中"?"符后的字串

var theRequest = new Object()

if (url.indexOf("?") != -1) {

var str = url.substr(1)

strs = str.split("&")

for(var i = 0i <strs.lengthi ++) {

theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1])

}

}

return theRequest

}

</script>

方法三、

/**

* 获取指定的URL参数值

* URL:http://www.quwan.com/index?name=tyler

* 参数:paramName URL参数

* 调用方法:getParam("name")

* 返回值:tyler

*/

function getParam(paramName) {

paramValue = "", isFound = !1

if (this.location.search.indexOf("?") == 0 &&this.location.search.indexOf("=") >1) {

arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0

while (i <arrSource.length &&!isFound) arrSource[i].indexOf("=") >0 &&arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() &&(paramValue = arrSource[i].split("=")[1], isFound = !0), i++

}

return paramValue == "" &&(paramValue = null), paramValue

}

其他参数获取介绍:

//设置或获取对象指定的文件名或路径。

alert(window.location.pathname)

//设置或获取整个 URL 为字符串。

alert(window.location.href)

//设置或获取与 URL 关联的端口号码。

alert(window.location.port)

//设置或获取 URL 的协议部分。

alert(window.location.protocol)

//设置或获取 href 属性中在井号“#”后面的分段。

alert(window.location.hash)

//设置或获取 location 或 URL 的 hostname 和 port 号码。

alert(window.location.host)

//设置或获取 href 属性中跟在问号后面的部分。

alert(window.location.search)

本章内容分为三部分: 开始之前先简单了解一下 如: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 整理笔记,不断优化更新。如果有错误或可以优化的地方欢迎指出,互相学习,共同进步。 如果对你有用就点个小心心吧❤