Javascript 如何使用js读取所有url参数?
有没有办法,如何读取url参数Javascript 如何使用js读取所有url参数?,javascript,Javascript,有没有办法,如何读取url参数 www.example.com/detail?id=12 www.example.com/detail/12 返回12 我不知道参数是什么。我想全部返回。您可以使用window.location.href获取包含参数的URL 访问第二个示例中的id参数(www.example.com/detail/12) 如果您不需要它在Internet Explorer中工作,还可以实现它,它允许您定义URL对象并直接从中检索参数: 来自 您可以使用Web API和访问win
www.example.com/detail?id=12
www.example.com/detail/12
返回12
我不知道参数是什么。我想全部返回。您可以使用
window.location.href
获取包含参数的URL
访问第二个示例中的id参数(www.example.com/detail/12)
如果您不需要它在Internet Explorer中工作,还可以实现它,它允许您定义URL对象并直接从中检索参数:
来自
您可以使用Web API和访问window.location
var url\u字符串=”http://www.example.com/detail?id=12";//www.example.com/detail/12”;
var url=新的url(url\u字符串);
var id=url.searchParams.get(“id”);
警报(id);
1.使用location.href
获取所有url
2.查找?
字符并拆分域和参数
3.对于每个拆分=
字符,您将获得所有参数值
var url=location.href;
if(url.indexOf(“?”)!=-1)
{
var ary=url.split('?')[1]。split('&');
对于(i=0;i您可以抓取GET parameters字符串并像这样解析它,首先将其转换为数组,然后从该数组构造一个对象,该对象将允许您访问项目:
const GETstring = window.location.search.subst(1);
let GETarray = GETstring.split("=");
let GETobject = {};
for(i=0;i<GETarray.length;i++){
if(i%2 === 0)}{
GETobject[GETarray[i]] = GETobject[i+1];
}
}
console.log(GETobject.id) // should print 12;
const GETstring=window.location.search.subst(1);
让GETarray=GETstring.split(“”);
让GETobject={};
对于(i=0;i有几种方法可以实现这一点。如果您使用的是框架或任何库,它们可能会提供一种更优雅的实现方法,但需要手动:
正则表达式如果大家都熟悉的话,我可能会推荐这种方法。这种方法可能更神秘,但性能更高
将字符串视为数组。在?索引之后,获取由“/”和&
log=(…x)=>console.log(…x);
const url_2=“www.example.com/detail/12”;
const url_1=“www.example.com/detail?id=12&thing=blue&sky=red”;
const splits2=url_2.split(“/”);
日志(拆分2);//[“www.example.com”,“detail”,“12”]
log(splits2[splits2.length-1]);//12
const splitbyquestionmark=url_1.split(“?”);
日志(“splitbyquestionmark”,splitbyquestionmark);//[“www.example.com/detail”,“id=12&thing=blue&sky=red”]
const parameters=splitbyquestionmark.splice(splitbyquestionmark.length-1,1);//[“id=12&thing=blue&sky=red”]
const paramsAsString=parameters[0];//id=12&thing=blue&sky=red
const finalParams=paramsAsString.split(“&”);
当前URL的日志(finalParams)//[“id=12”,“thing=blue”,“sky=red”]
,或从字符串?从字符串..var URL=new URL(yourUrlString);url.searchParams包含许多方法,您可以使用这些方法获取所有参数或特定参数。如果希望在较低版本的IET中支持,您可以使用polyfills。这在任何版本的Internet Explorer中都不起作用。如何获取运行代码段并将代码段复制到应答按钮?@Urasquirrel您可以按ctrl
+M
在答案区域,您将看到代码段:)。运行代码和复制代码段由系统自动创建。谢谢,伙计!谢谢!
var paramsString = "q=URLUtils.searchParams&topic=api";
var searchParams = new URLSearchParams(paramsString);
//Iterate the search parameters.
for (let p of searchParams) {
console.log(p);
}
searchParams.has("topic") === true; // true
searchParams.get("topic") === "api"; // true
searchParams.getAll("topic"); // ["api"]
searchParams.get("foo") === null; // true
searchParams.append("topic", "webdev");
searchParams.toString(); // "q=URLUtils.searchParams&topic=api&topic=webdev"
searchParams.set("topic", "More webdev");
searchParams.toString(); // "q=URLUtils.searchParams&topic=More+webdev"
searchParams.delete("topic");
searchParams.toString(); // "q=URLUtils.searchParams"
const GETstring = window.location.search.subst(1);
let GETarray = GETstring.split("=");
let GETobject = {};
for(i=0;i<GETarray.length;i++){
if(i%2 === 0)}{
GETobject[GETarray[i]] = GETobject[i+1];
}
}
console.log(GETobject.id) // should print 12;