javascript - 如果 javascript 中存在,则在 url 中获取查询字符串

标签 javascript

<分区>

似乎没有简单的内置方法来检查 url 是否包含查询字符串,如果包含,则获取它。到目前为止,我发现的方法依赖于“url.indexOf("?")"和正则表达式。这些是唯一的方法吗,在 Javascript 中没有类似“url.queryString”属性的东西吗?

最佳答案

不,没有直接的方法可以做到这一点,或者 JS 没有提供内置的功能来做到这一点,但是有许多相对直接的方法可以做到这一点,像这个:

var field = "anyquery";
var _status = window.location.href.indexOf('?' + field + '=');

if(_status!=-1){
   // Field Exists!
}

甚至这个: ( Source )

// Read a page's GET URL variables and return them as an associative array.
function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

您可以使用 getUrlVars().hasOwnProperty("anyquery"); 进行检查

并且可以使用 getUrlVars().anyquery 获取值

所有queryarray可以是Object.keys(getUrlVars());

关于javascript - 如果 javascript 中存在,则在 url 中获取查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34380844/

相关文章:

javascript - 删除 Firefox 星形图标和书签图标

javascript从头到尾解析/识别正则表达式

添加警报时 JavaScript 可以工作

javascript - 从 Javascript 中的元素列表获取 href 列表

javascript - $ ('html' ).append() 在 IE7 上不工作

javascript - JSON.stringify 时,Json 到 ASP.NET MVC Controller 参数为 null

javascript - 如何异步并行多个 app.use 调用?

javascript - 与 .closest() .siblings() .find() 混淆

javascript - 如何修复 "' d 3' was used before it was defined"错误

javascript - react 事件 : onMouseUp not firing after onMouseEnter event