1

我有一个从 URL 获取查询参数的场景。有一个方法被调用toQueryParams(),它将获取所有参数。但是当 URL 是http://www.google.com相同的方法时,返回与查询参数相同的 URL,URL 作为键,未定义作为值。

var param = window.location.href.toQueryParams()

这是我使用的代码。

4

2 回答 2

0

当 URL 没有查询参数时,即没有URL?&URL 的一部分,那么除了 URL 之外没有查询参数。

那么我通常如何在给定的 URL http://www.mywebsite.com/index.php?arg=2500&search=Smith上使用此方法

var param = window.location.href.toQueryParams();
if(param.arg != undefined)
{
    //do things with the arg parameter
}
if(param.search != undefined)
{
    //do things with the search param
    alert('User has selected '+param.search+' as the search parameter');
}

因此,如果给定的参数不存在,那么我不会尝试处理它。该方法toQueryParam()为您提供了一个您可以处理的错误,而不是停止您的 JS 执行的 Exception 或 full on JS 错误。

于 2013-03-07T16:15:40.970 回答
0

我尝试通过以下方式解决此问题。

if (window.location.search != "") { // this means the url has no query params
var param = window.location.href.toQueryParams(); // param Object will holds queryparams in key and value form
} else {
var param = new Object(); // param will has no queryParmas but, it is an empty object
}
于 2013-03-14T15:28:34.327 回答