【问题标题】:Query String in JavaScriptJavaScript 中的查询字符串
【发布时间】:2010-04-21 04:28:36
【问题描述】:

通过使用document.referrer,我们将得到JavaScript中所有URL的引用,例如:

http://localhost/testwordpress/wp-admin/admin.php?page=thesis-options&upgraded=true

从这个输出中我们如何只提取查询字符串部分:

?page=thesis-options&upgraded=true

JavaScript中有什么方法吗?

【问题讨论】:

    标签: javascript query-string


    【解决方案1】:

    要从document.referrer获取查询字符串,可以使用split()方法:

    var qs = document.referrer.split('?')[1];
    
    if (typeof qs !== 'undefined') {
        // qs contains the query string.
        // this would be "page=thesis-options&upgraded=true" in your case.
    }
    else {
        // there was no query string in document.referrer.
    }
    

    【讨论】:

      【解决方案2】:

      如果您只是想从查询字符串中获取值,我使用以下函数:

      function getQuerystring(key)
      {
        key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
        var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
        var qs = regex.exec(window.location.href);
        if(qs == null)
          return default_;
        else
          return qs[1];
      }
      

      只需传入您要查找的密钥并取回值即可。 IE: getQueryString('upgraded') 将返回 true

      【讨论】:

      • 请注意,您可能希望将 window.location.href 更改为 document.referrer
      • @Daniel Vassallo:这是一个很好的观点。 window.location.href 只会包含用户在其浏览器中看到的内容。如果您正在寻找推荐人特定的信息,最好使用 document.referrer。
      【解决方案3】:

      周围有一些功能可以做到这一点。例如,请参阅this

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-02
        • 1970-01-01
        • 1970-01-01
        • 2010-10-13
        相关资源
        最近更新 更多