0

我得到一个值作为一个字符串,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];
    }
  }
}
4

2 回答 2

2

在执行拆分操作之前,确保字符串不是空的、空的和未定义的

function isValidString(input){
  if(input != null && input != '' && input != undefined){
     return true;
  }
  return false;
}
if(isValidString(input)){
   input.split('=');
}
于 2018-04-30T06:32:11.093 回答
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];
      }        
    }
  }
}
于 2018-04-30T05:36:03.573 回答