长度函数引发未捕获的错误

时间:2019-03-11 10:16:00

标签: javascript jquery ajax

执行此代码时发生错误。 该代码可以正常工作,但是会引发未捕获的错误。 我应该为此担心吗?

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
   response = JSON.parse(this.responseText);     
}   

document.getElementById(type).options.length = 0;

for (var i = 0; i < response.length ; i++) {
  var option = document.createElement("OPTION");
  option.innerHTML = response[i];
  option.value = response[i];
  ddlEnvType.options.add(option);
}

document.getElementById(type).disabled = false;

};
xmlhttp.open("POST","sample.php?condition=" +x.value +"&type=" +type,true);
xmlhttp.send();
}

1 个答案:

答案 0 :(得分:0)

document.getElementById(type).options.length = 0;

上面的行引发错误,因为.length用于返回length,并且不能用于为其赋值。

在for循环中

i<response.length

但是响应不是一个数组,它是一个JSON对象,这是导致错误的原因

response = JSON.parse(this.responseText);