我有一个 HTML 页面,通过类似于这样的 URL 进行加载:
http://localhost:8080/GisProject/MainService?s=C&o=1
我想在不使用jsp
的情况下获取URL中的查询字符串参数。
问题
是否可以使用
Javascript
或jQuery
来完成这个操作? 因为我想在部署到使用Java服务器的远程机器之前,使用我的Node.js
本地服务器测试页面。是否有任何库可以让我这样做?
我有一个 HTML 页面,通过类似于这样的 URL 进行加载:
http://localhost:8080/GisProject/MainService?s=C&o=1
我想在不使用jsp
的情况下获取URL中的查询字符串参数。
是否可以使用Javascript
或jQuery
来完成这个操作?
因为我想在部署到使用Java服务器的远程机器之前,使用我的Node.js
本地服务器测试页面。
是否有任何库可以让我这样做?
function GetURLParameter(sParam)
{
var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++)
{
var sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] == sParam)
{
return sParameterName[1];
}
}
}
以下是您在假网址 http://dummy.com/?technology=jquery&blog=jquerybyexample
上使用此函数的方法:
var tech = GetURLParameter('technology');
var blog = GetURLParameter('blog');`
Chrome 49 实现了来自 URL 规范的 URLSearchParams
,这是一个对于操作 URL 查询参数非常有用的 API。 URLSearchParams
接口定义了一些实用方法,用于处理 URL 的查询字符串。
So what can you do with it? Given a URL string, you can easily extract parameter values as in the code below for s
& o
parameter:
//http://localhost:8080/GisProject/MainService?s=C&o=1
const params = new URLSearchParams(document.location.search);
const s = params.get("s");
const o = params.get("o");
console.info(s); //show C
console.info(o); //show 1
window.location.search
来获取查询字符串: const queryString = window.location.search;
console.log(queryString);
// ?product=shirt&color=blue&newuser&size=m
然后我们可以使用URLSearchParams解析查询字符串的参数:
const urlParams = new URLSearchParams(queryString);
然后我们在结果上调用任何它的方法。
例如,URLSearchParams.get() 将返回与给定搜索参数相关联的第一个值:
const product = urlParams.get('product')
console.log(product);
// shirt
const color = urlParams.get('color')
console.log(color);
// blue
const newUser = urlParams.get('newuser')
console log(newUser);
// empty string
让我们举一个非编码的URL的例子:
https://stackoverflow.com/users/3233722/pyk?myfirstname=sergio&mylastname=pyk
将工作放在单个JS行中...
urlp=[];s=location.toString().split('?');s=s[1].split('&');for(i=0;i<s.length;i++){u=s[i].split('=');urlp[u[0]]=u[1];}
您可以随时在页面中使用它 :-)
alert(urlp['mylastname']) //pyk
- 即使在像ie6这样的旧浏览器上也可以工作