【问题标题】:Query String in JavascriptJavascript 中的查询字符串
【发布时间】:2010-04-13 05:25:10
【问题描述】:

我们如何在 javascript 中收集查询字符串值。 我的脚本如下 http://192.168.10.5/study/gs.js?id=200 在这里,我想在我的 gs.js 脚本文件中收集 id 值。 为此,我正在使用

function getQuerystring(key, default_)
{
  if (default_==null) default_="";
  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];
}
var string_value = getQuerystring('id');
alert(string_value);

但它没有得到..请任何人都可以纠正我。请

【问题讨论】:

    标签: javascript query-string


    【解决方案1】:

    此函数获取托管此脚本的页面的查询字符串:它依赖于window.location.href。似乎http://192.168.10.5/study/gs.js?id=200 是脚本本身的地址,而不是页面。为此,您需要首先通过查看文档中的 script 标记来获取此地址,然后稍微修改前面的函数以获取表示 url 且不依赖于 window.location.href 的附加参数。

    【讨论】:

    • 或者 - 让服务器端将var myid=200; 注入它为gs.js?id=200 服务的javascript 代码中
    【解决方案2】:

    来自我的programming archive

    function querystring(key) {
      var re = new RegExp('(?:\\?|&)'+key+'=(.*?)(?=&|$)','gi');
      var r = [], m;
      while ((m = re.exec(document.location.search)) != null) r[r.length] = m[1];
      return r;
    }
    

    该函数将找到的值作为包含零个或多个字符串的数组返回。

    用法:

    var values = querystring('id');
    if (values.length > 0) {
      // use values[0] to get the first (and usually only) value
      // or loop through values[0] to values[values.length-1]
    }
    

    或:

    var string_value = querystring('id').toString();
    

    【讨论】:

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