如何使用javascript访问查询字符串?

时间:2012-07-12 16:16:16

标签: javascript html

我有一个类似于page3.html?redesigndata=value的查询字符串,当它从重定向时从 page1.html page3.html?new=yesno重定向时出现> page2.html 即可。以下是我用来查找查询字符串的代码,并在 page3.html

上执行一些功能
var locurl = window.location.search;
if (locurl.substring(0, 13) === '?redesigndata') {
  alert("redesign!");
} else if (locurl.substring(0, 4) === '?new') {
  visit = locurl.substring(5);
  alert("somthing!");
  if (visit === 'yes') {
     alert("first!");
  } else if (visit === 'no') {
    alert("again!");
  }
}

但是当我尝试这个脚本时我没有收到任何警报,我无法找出它的错误。

3 个答案:

答案 0 :(得分:1)

您发布的代码没有任何问题。如果警报从未触发,那是因为从未满足条件。将查询字符串添加到与您在代码中列出的URL匹配的URL时,警报就会触发。

另外,请注意你(看似)正在创建全球变量。

答案 1 :(得分:1)

尝试使用此功能

function getQueryString() {
  var result = {}, queryString = location.search.substring(1),
      re = /([^&=]+)=([^&]*)/g, m;

  while (m = re.exec(queryString)) {
    result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
  }

  return result;
}

// ...
var myParam = getQueryString()["myParam"];

像这样检查

if(getQueryString()["redesigndata"] != "")

答案 2 :(得分:1)

该脚本适用于我的盒子。请将此脚本放在脚本标记