使用jquery检查url参数是否存在

Rao*_*old 1 jquery

我在Stack看到了一些类似的帖子,但是我想在jquery中询问具体的功能

$.urlParam('GETparameter')

为什么简单 if($.urlParam('GETparameter') === undefined) 不工作?为什么在其他问题上有复杂的答案?

谢谢你的回答,请你有人编辑我的帖子吗?我的英语水平很低.

Tyl*_*per 8

首先,$.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)


Fri*_*its 7

这里的另一个解决方案是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)