2

このエラーについては、どの団体も何らかの考えを持っていますが、

TypeError: プロパティ 'pop' の値を取得できません: オブジェクトが null または未定義です:

bru.scopelliti さん、こんにちは。

コードは次のとおりです。

someNode.innerHTML = _self.errorMessage + " : " + ioArgs.xhr.status + " : " +response.responseText;

問題は、応答オブジェクトに responseText がないことです

4

2 に答える 2

1

うっかり追加したり、削除し忘れたりした余分なカンマがないか確認することをお勧めします。IE はそれを尊重しません。

var foo = {
    a: 1,
    b: 2,
    c: 3, // this last comma will give an error in IE.
}

お役に立てれば。

于 2012-11-29T10:01:22.257 に答える
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)orは使用する方法ではありません。何かが定義されているかどうかを確認したい場合は、 を使用します。オブジェクト内のプロパティを確認するには、 を使用するか、シナリオによってはより適切な -を使用します。nullをチェックするには、使用しますvar x = y || z;(0, '', etc.)if (typeof x === "undefined")if (x in obj)if (obj.hasOwnProperty(x))if (x == null)

于 2012-11-29T09:55:55.407 に答える