对于这个特定的 javascript 错误,我看到了很多类似的问题,但我的问题是我已经实现了“修复”,但它仍然会发生,但只是随机发生。
错误: 未捕获的类型错误:无法读取未定义的属性“状态”
在引用像 json.status 这样的状态属性之前,在所有情况下我都会在它前面加上:
if ( typeof json.status != 'undefined' )
因此从理论上讲,如果我在所有情况下都首先检查,那么它就没有理由抛出该错误。
当我在控制台中单击它引用的行号时,它会进入空白屏幕,因此很难进行故障排除。如果我展开打开错误堆栈,它会引用我的 jquery dataTables 一堆,但我不知道这是否是因为在它之前发生了故障。
我怎样才能更深入地解决这个问题,或者正确地捕获这个错误,这样它就不会停止我之后的所有 AJAX 调用? (发生这种情况时需要刷新...)
最佳答案
因为您没有提供完整的代码,所以我无法清楚地了解您的情况。
无论如何,错误只是表明 json
是未定义(由于编码逻辑中出现问题,...)。
要快速修复错误,您还可以更改代码以对 json
进行空检查:
if (json && (typeof json.status != 'undefined')) {...}
或者更好的方法:
if (json && json.status) {...}
关于javascript - Chrome - 即使先检查也无法读取未定义的属性 'status',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35641590/