写一段js程序提取url中各个get参数(参数名和参数个数不确定),将其key-value形式返回到一个json结构中,如{a: “1”,b: “2” , c: "" , d: “xxx”, e:undefined}
时间: 2024-06-03 19:07:44 浏览: 139
function getUrlParams(url) {
var params = {};
url = decodeURIComponent(url);
var queryString = url.split("?")[1];
if (!queryString) {
return params;
}
var keyValuePairs = queryString.split("&");
for (var i = 0; i < keyValuePairs.length; i++) {
var keyValuePair = keyValuePairs[i].split("=");
var key = keyValuePair[0];
var value = keyValuePair[1] || "";
params[key] = value;
}
return params;
}
var url = "http://example.com?a=1&b=2&c=&d=xxx&e";
var params = getUrlParams(url);
console.log(params); // {a: "1", b: "2", c: "", d: "xxx", e: ""}
相关问题
写一段js程序提取url中各个get参数
下面是一个JavaScript代码段,可以从URL中提取GET参数:
```
function getParams(url) {
let params = {};
let queryString = url.split("?")[1];
if (queryString) {
queryString = queryString.split("#")[0];
let pairs = queryString.split("&");
for (let i = 0; i < pairs.length; i++) {
let pair = pairs[i].split("=");
let key = decodeURIComponent(pair[0]);
let value = decodeURIComponent(pair[1] || "");
if (params.hasOwnProperty(key)) {
if (Array.isArray(params[key])) {
params[key].push(value);
} else {
params[key] = [params[key], value];
}
} else {
params[key] = value;
}
}
}
return params;
}
```
该函数接受一个URL字符串作为参数,并返回一个包含该URL中所有GET参数的对象。 如果URL中没有GET参数,则返回一个空对象。
例如,在以下URL中调用该函数:
```
let url = "https://www.example.com/?foo=bar&baz=qux&baz=quux#anchor";
let params = getParams(url);
console.log(params);
```
输出将是以下内容:
```
{
foo: "bar",
baz: ["qux", "quux"]
}
```
js写一个函数 getQueryString,传入一个url地址和一个key,返回key对应的参数值
好的,这个问题我可以回答。以下是一个示例代码:
```javascript
function getQueryString(url, key) {
const searchParams = new URLSearchParams(new URL(url).search);
return searchParams.get(key);
}
```
你可以将需要解析的 URL 和需要获取的参数 key 作为参数传入该函数,它将返回对应的参数值。