Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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 在jquery中通过URL传递1或2个查询字符串时出现问题_Javascript_Jquery - Fatal编程技术网

Javascript 在jquery中通过URL传递1或2个查询字符串时出现问题

Javascript 在jquery中通过URL传递1或2个查询字符串时出现问题,javascript,jquery,Javascript,Jquery,如果我选择在url上添加1或2个变量,我将尝试向页面添加一些自定义内容。问题是,我的函数只有在两个字符串都被传递的情况下才能工作,而不是在我只选择使用1的情况下。我想要这个选择。传递的两个字符串是“rescompany”和“locale” 回复:index.html?locale=someplace&rescompany=Google $(document).ready(function() { function getUrlVars() { var vars = [

如果我选择在url上添加1或2个变量,我将尝试向页面添加一些自定义内容。问题是,我的函数只有在两个字符串都被传递的情况下才能工作,而不是在我只选择使用1的情况下。我想要这个选择。传递的两个字符串是“rescompany”和“locale”

回复:
index.html?locale=someplace&rescompany=Google

$(document).ready(function() {
      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;
      }

      if (document.location.search.length) {
        var rescompany = getUrlVars()["rescompany"];
        var locale = getUrlVars()["locale"];

        if ((rescompany).length > 0) {
          $(".addtores").css('visibility', 'visible');
          $(".resname").append(decodeURIComponent(rescompany));
        }
        if ((locale).length > 0) {
          $(".introduction strong span").css('display', 'inline-block');
        }
      }
$(文档).ready(函数(){
函数getUrlVars(){
var vars=[],
搞砸
var hashes=window.location.href.slice(window.location.href.indexOf('?')+1).split('&');
for(var i=0;i0){
$(“.addtores”).css(‘可见性’、‘可见’);
$(“.resname”).append(decodeURIComponent(rescompany));
}
如果((区域设置).length>0){
$(.introduction-strong-span”).css('display','inline-block');
}
}

如果我运行您的代码,我会收到以下错误消息:
TypeError:rescompany未定义
(检查浏览器中的错误消息)

这意味着您的if测试
(rescompany).length>0
错误。应将其替换为
rescompany!==未定义的

因此,您的代码应该是这样的:

$(document).ready(function() {
  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;
  }

  if (document.location.search.length) {
    var vars = getUrlVars();
    var rescompany = vars["rescompany"];
    var locale = vars["locale"];

    if (rescompany !== undefined) {
      $(".addtores").css('visibility', 'visible');
      $(".resname").append(decodeURIComponent(rescompany));
    }
    if (locale !== undefined) {
      $(".introduction strong span").css('display', 'inline-block');
    }
  }
});
$(文档).ready(函数(){
函数getUrlVars(){
var vars=[],
搞砸
var hashes=window.location.href.slice(window.location.href.indexOf('?')+1).split('&');
for(var i=0;i
你答对了-我错过了这部分逻辑。感谢你的澄清!如果答案解决了你的问题,请始终将答案标记为正确。因此,每个人都知道问题已经解决。