任何机构都对此错误有所了解,
TypeError:无法获取属性“pop”的值:object为null或undefined:
你好bru.scopelliti,
这里的代码是:
someNode.innerHTML = _self.errorMessage + " : " + ioArgs.xhr.status + " : " +response.responseText;
事情是响应对象没有responseText
答案 0 :(得分:1)
当您想要访问属性时,如果对象为null或未定义,则会发生此错误。
var x = undefined;
var y = null;
alert(x.pop); // error
alert(x.pop); // error
如果你想检查对象是否为null,你可以这样做:
if (response) {
// Do stuff
}
如果要检查对象属性是否存在,可以执行以下操作:
if (response) {
var value = response.responeText || defaultValue
}
编辑:来自评论:
有几种方法可以检查已定义的内容,但if (something)
或var x = y || z;
不是可行的方法,因为假值(0, '', etc.)
会导致此操作失效。如果你想看看是否定义了什么,我会使用if (typeof x === "undefined")
。为了检查对象中的属性,我会使用if (x in obj)
,或者可能更好,具体取决于方案 - if (obj.hasOwnProperty(x))
。为了检查null,我会使用if (x == null)
答案 1 :(得分:1)
您可能想要检查您可能无意中添加或忘记删除的任何额外逗号。 IE不尊重它。
var foo = {
a: 1,
b: 2,
c: 3, // this last comma will give an error in IE.
}
希望这有帮助。