我有一个从 URL 获取查询参数的场景。有一个方法被调用toQueryParams()
,它将获取所有参数。但是当 URL 是http://www.google.com
相同的方法时,返回与查询参数相同的 URL,URL 作为键,未定义作为值。
var param = window.location.href.toQueryParams()
这是我使用的代码。
我有一个从 URL 获取查询参数的场景。有一个方法被调用toQueryParams()
,它将获取所有参数。但是当 URL 是http://www.google.com
相同的方法时,返回与查询参数相同的 URL,URL 作为键,未定义作为值。
var param = window.location.href.toQueryParams()
这是我使用的代码。
当 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 错误。
我尝试通过以下方式解决此问题。
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
}