javascript中的location.search

时间:2013-01-18 08:36:17

标签: javascript

我想知道location.search.substring(1)实际上做了些什么。我在某个网站上看到了这段代码。我尝试使用alert打印,但这没有给出任何结果。它是否应该提醒位置href?

alert(location.search.substring(1))

7 个答案:

答案 0 :(得分:44)

http://example.com/index.php?foo=bar

location.search
> ?foo=bar
location.search.substring(1)
> foo=bar

因此,代码将返回整个查询参数而不用问号。

答案 1 :(得分:15)

location.search属性包含URI的查询字符串(包括?),如果有的话。

示例:

http://www.example.org/index.php?param=arg
location.search is ?param=arg

所以你的代码会削减领先优势?并返回param=arg

答案 2 :(得分:13)

  

search属性返回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"

“查询porpotion”是查询字符串:

http://www.example.com/?property=value&property2=value
                       |        query string         |

答案 3 :(得分:6)

e.g。如果你有以下网址

http://www.example.org/index.htm?Browser=Netscape

然后window.location.search?Browser=Netscape作为字符串

返回

答案 4 :(得分:1)

location.search返回包含初始问号的查询字符串。 substr方法是从返回的查询字符串中删除初始问号。

您无法在alert()中获得任何结果的原因是,您正在尝试在没有任何内容的网站上读取查询字符串。

这是您的测试方式:

  1. 转到此URL
  2. 在浏览器中打开控制台
  3. 粘贴下面共享的代码段,然后按Enter键

{"type":"FeatureCollection",
    "features":[
         {"type":"Feature","properties":{"dbh":0, "icon-type": "bike"},"geometry":{"type":"Point","coordinates":[-79.91746,40.44356]}},
         {"type":"Feature","properties":{"dbh":12, "icon-type": "bike"},"geometry":{"type":"Point","coordinates":[-79.94606,40.44961]}},
         {"type":"Feature","properties":{"dbh":6, "icon-type": "cat"},"geometry":{"type":"Point","coordinates":[-79.96474,40.46283]}},
         {"type":"Feature","properties":{"dbh":2, "icon-type": "dog"},"geometry":{"type":"Point","coordinates":[-80.00949,40.42532]}}
     ]
}

旧问题,但答案可能对该页面上的新访客有用。

答案 5 :(得分:0)

返回查询字符串,没有初始问号。如果页面上有查询字符串,您将只看到结果,例如http://www.example.com?parameter=value

答案 6 :(得分:0)

现在是2018年,这就是您在2018年的工作方式。

示例网址:

async void ShowDetails(int selectedItemID)
{
    await _navigation.PushAsync(new DetailsPage(selectedItemID));
}

Items _selectedItem;
public Items SelectedItem
{
    get => _selectedItem;
    set
    {
        if (value != null)
        {
            _selectedItem = value;
            NotifyPropertyChanged("SelectedItem");
            ShowDetails(value.Id);
        }
    }
}

我的工作代码提取每个查询参数:

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