javascript - Chrome - 即使先检查也无法读取未定义的属性 'status'

标签 javascript jquery

对于这个特定的 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/

相关文章:

javascript - 图片、音乐、视频、youtube、flash 和 vimeo x 浏览器媒体播放器插件?

javascript - 如何重置 Backbone 中的所有事件

javascript - 控制一个 div 的每个背景图像的每个样式属性

javascript - 要求另一家商店中的商店不起作用

javascript - 使用 node express 从类渲染方法

javascript - 实例属性会掩盖原型(prototype)链吗?

.net - 如何在 .ascx 页面中使用 javascript

javascript - Javascript 过滤器是否保留顺序?

javascript - 防止默认();对 drop 事件没有任何影响

php - 图像文件为空