错误:无法读取undefined的属性'split'

时间:2018-04-30 05:31:10

标签: javascript jquery cookies

我从cookie获取一个值作为字符串,其中存储了多个值 我正在使用split()函数分隔这些值,但我不断收到错误。这是我的代码。如果有人能帮我解决这个问题,那将是一个很大的帮助。

var sourcez = jQuery.cookie("Source");
var mediumz = jQuery.cookie("Medium");

function utmze(eutmz) {
  var utmz_val = jQuery.cookie("__utmzz");

  for (var o = utmz_val, r = o.split("|"), a = 0; (a < r.length); a++) {
    var t = r[a].split("=");

    if (t[0] == eutmz) {
      return t[1];
    }
  }
}

2 个答案:

答案 0 :(得分:1)

进行以下更改以避免错误:

var sourcez = jQuery.cookie("Source");
var mediumz = jQuery.cookie("Medium");

function utmze(eutmz) {
  var utmz_val = jQuery.cookie("__utmzz");

  for (var o = utmz_val, r = o.split("|"), a = 0; (a < r.length); a++) {
    if (typeof r[a] != "undefined") {  // Checking if the variable is defined.
      var t = r[a].split("=");

      if (t[0] == eutmz) {
        return t[1];
      }        
    }
  }
}

答案 1 :(得分:1)

在执行拆分操作

之前,请确保字符串不为空,为null且未定义
function isValidString(input){
  if(input != null && input != '' && input != undefined){
     return true;
  }
  return false;
}
if(isValidString(input)){
   input.split('=');
}