Chrome - 即使先检查也无法读取未定义的属性“状态”

Chrome - Cannot read property 'status' of undefined even with check first

本文关键字:未定义 读取 属性 状态 检查 Chrome      更新时间:2023-09-26

对于这个特定的javascript错误,我看到很多类似的问题,但我的问题是我已经实现了"修复"并且它仍然发生,但只是随机的。

错误: 未捕获的类型错误:无法读取未定义的属性"状态"

在引用像 json.status 这样的状态属性之前,在所有情况下,我都会在它前面加上:

if ( typeof json.status != 'undefined' )

因此,从理论上讲,如果我在所有情况下都首先检查,它应该没有理由抛出该错误。

当我在控制台中单击它引用的行号时,它会进入空白屏幕,因此很难进行故障排除。如果我展开打开错误堆栈的东西,它会引用我的jquery dataTables一堆,但我不知道这是否是因为之前某些东西失败了。

如何更深入地对此进行故障排除,或正确捕获该错误,以便它不会停止其后的所有 AJAX 调用?(发生时需要刷新...

因为您没有提供完整的代码,我无法清楚地了解您的情况。

无论如何,错误只是显示json未定义(由于编码逻辑中的错误,...

要快速修复错误,您也可以更改代码以对json执行空检查:

if (json && (typeof json.status != 'undefined')) {...}

或者更好的方法:

if (json && json.status) {...}