我在Stack看到了一些类似的帖子,但是我想在jquery中询问具体的功能
$.urlParam('GETparameter')
为什么简单
if($.urlParam('GETparameter') === undefined)
不工作?为什么在其他问题上有复杂的答案?
谢谢你的回答,请你有人编辑我的帖子吗?我的英语水平很低.
首先,$.urlParam就我所知,这不是一个固有的jQuery函数,这意味着如果你打算使用它,你需要定义它.
查找时,我发现了一个用户创建的同名函数; 我将假设这是你所指的:
$.urlParam = function(name){
var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
return results[1] || 0;
}
Run Code Online (Sandbox Code Playgroud)
0如果找不到参数,它看起来会返回,而不是 undefined.如果此功能实际上是您正在引用的功能,则您需要执行以下操作:
if($.urlParam('GETparameter') === 0)
这里的另一个解决方案是URLSearchParams函数。
例如,如果您的 URL 是,https://example.com?foo=bar&baz=qux您可以检索所有参数,然后像这样查询特定参数:
var urlParams = new URLSearchParams(window.location.search); //get all parameters
var foo = urlParams.get('foo'); //extract the foo parameter - this will return NULL if foo isn't a parameter
if(foo) { //check if foo parameter is set to anything
alert('FOO EXISTS');
}
if(foo == 'bar') { //check if foo parameter is 'bar'
alert('FOO == BAR');
}
Run Code Online (Sandbox Code Playgroud)