我想知道location.search.substring(1)
实际上是做什么的。我在某个网站上看到了这段代码。我尝试使用 打印alert
,但这没有给出任何结果。它应该提醒位置href吗?
alert(location.search.substring(1))
我想知道location.search.substring(1)
实际上是做什么的。我在某个网站上看到了这段代码。我尝试使用 打印alert
,但这没有给出任何结果。它应该提醒位置href吗?
alert(location.search.substring(1))
http://example.com/index.php?foo=bar
location.search
> ?foo=bar
location.search.substring(1)
> foo=bar
因此该代码将返回不带问号的整个查询参数。
location.search 属性包含 URI 的查询字符串(包括 ?),如果有的话。
例子:
http://www.example.org/index.php?param=arg
location.search is ?param=arg
所以你的代码剪掉了领先?并返回param=arg
。
搜索属性返回 URL 的查询部分,包括问号 (?)。
这意味着,location.search.substring(1)
应该返回不带问号的数据。
// http://www.example.com/index.html
console.log(location.search.substring(1)); // no query string, so displays nothing
// http://www.example.com/index.html?property=value
console.log(location.search.substring(1)); // should display "property=value"
“查询部分”是查询字符串:
http://www.example.com/?property=value&property2=value
| query string |
例如,如果您有以下网址
http://www.example.org/index.htm?Browser=Netscape
然后window.location.search
将?Browser=Netscape
作为字符串返回
location.search 返回一个包含初始问号的查询字符串。substr 方法是从返回的查询字符串中删除初始问号。
你在 alert() 中没有得到任何结果的原因是你试图在一个没有任何结果的网站上读取查询字符串。
以下是您的测试方式:
var container = {};
location.search.split('&').toString().substr(1).split(",").forEach(item => {
container[item.split("=")[0]] = decodeURIComponent(item.split("=")[1]) ? item.split("=")[1]: "No query strings available" ;
});
console.log(container);
老问题,但答案可能对本页的新访问者有所帮助。
它返回查询字符串,不带初始问号。如果页面上有查询字符串,您只会看到结果,例如http://www.example.com?parameter=value。
现在是 2018 年,这就是你在 2018 年的做法。
示例网址:
http://localhost:10/mapserver1/viewer/?config=viewer_simple1&url=https://maps2.dcgis.dc.gov/dcgis/rest/services/Zoning/MapServer&zoom=17&lat=38.917292&long=-77.036420
我提取每个查询参数的工作代码:
var ___zoom;
var ___lat;
var ___long;
var ___basemap;
var ___type;
var ___url;
var ___title;
var ___opacity;
if ( location.search.match(/zoom=([^&]*)/i) )
{
___zoom = location.search.match(/zoom=([^&]*)/i)[1];
}
if ( location.search.match(/lat=([^&]*)/i) )
{
___lat = location.search.match(/lat=([^&]*)/i)[1];
}
if (location.search.match(/long=([^&]*)/i))
{
___long = location.search.match(/long=([^&]*)/i)[1];
}
if (location.search.match(/basemap=([^&]*)/i))
{
___basemap = location.search.match(/basemap=([^&]*)/i)[1];
}
if (location.search.match(/type=([^&]*)/i))
{
___type = location.search.match(/type=([^&]*)/i)[1];
}
if (location.search.match(/url=([^&]*)/i))
{
___url = location.search.match(/url=([^&]*)/i)[1];
}
if (location.search.match(/title=([^&]*)/i))
{
___title = location.search.match(/title=([^&]*)/i)[1];
}
if (location.search.match(/opacity=([^&]*)/i))
{
___opacity = location.search.match(/opacity=([^&]*)/i)[1];
}
//console.log(location.search.match(/zoom=([^&]*)/i)[0]); // 'zoom=17'
//console.log(location.search.match(/zoom=([^&]*)/i)[1]); // '17'
console.log(___zoom);
console.log(___lat);
console.log(___long);
console.log(___basemap);
console.log(___type);
console.log(___url);
console.log(___title);
console.log(___opacity);