Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 读取url JQuery中的GET变量_Javascript_Jquery_Variables_Get - Fatal编程技术网

Javascript 读取url JQuery中的GET变量

Javascript 读取url JQuery中的GET变量,javascript,jquery,variables,get,Javascript,Jquery,Variables,Get,抱歉,还有一个“简单”的问题,但是有没有一种简单的方法可以从URL读取GET变量。例子。我有一个urlhttp://www.domain.com/page.php?var1=1在我的情况下,我只有一个变量,即var1或var2(变量可以更改,但每个url只有一个变量)。我看到的所有tut都与数组有关,而不是“单例”。好吧,我知道数组解决方案可能更好,但这只是一个简单的单get变量。有什么建议吗?提前谢谢 var split = location.search.replace('?', '').s

抱歉,还有一个“简单”的问题,但是有没有一种简单的方法可以从URL读取GET变量。例子。我有一个url
http://www.domain.com/page.php?var1=1
在我的情况下,我只有一个变量,即
var1
var2
(变量可以更改,但每个url只有一个变量)。我看到的所有tut都与数组有关,而不是“单例”。好吧,我知道数组解决方案可能更好,但这只是一个简单的单get变量。有什么建议吗?提前谢谢

var split = location.search.replace('?', '').split('=')
split[0]
是您的var名称,
split[1]
是您的var值。对于这段代码,实际上并不需要jQuery;)

至于twiz的评论,拆分多个变量可以这样做:

var split = location.search.replace('?', '').split('&').map(function(val){
  return val.split('=');
});
您可以通过
split[index][0]
访问变量名,通过
split[index][1]
访问值


当然,对于一个变量,您也可以使用第二个代码段而不是第一个代码段。

我在默认javascript文件中使用它

var get = [];
location.search.replace('?', '').split('&').forEach(function (val) {
    split = val.split("=", 2);
    get[split[0]] = split[1];
});
现在您可以按名称使用它们:

get["var1"]

如果变量存在,可以使用此函数从url返回指定变量名的值。否则您将得到一个空字符串

function getUrlValue(varName) {
    var split = $(location).attr('href').split('?');
    var value = '';
    if (split.length == 2) {
        split = split[1].split('&');
        for (var i = 0; i < split.length; i+=1) {
            var keyValue = split[i].split('=');
            if (keyValue.length == 2 && keyValue[0] == varName) {
                value = keyValue[1];
                break;
            }
        }
    }
    return value;
}
函数getUrlValue(varName){ var split=$(位置).attr('href').split('?'); var值=“”; 如果(split.length==2){ 拆分=拆分[1]。拆分('&'); 对于(变量i=0;i使用ES2019创建对象:

let GET=Object.fromEntries(location.search
.替换(“?”,“)
.split(“&”)

.map(i=>i.split('='))的可能重复项对于多个变量是否也需要按“&”进行拆分?我刚刚使用“&”&&“=”作为传递给拆分函数的参数。似乎可以很好地解析结果。