为什么这会引起错误?

时间:2012-03-27 04:45:25

标签: javascript jquery json

我有一个jquery json ajax调用,在我的成功函数中,我有以下检查:

if(data['error'] === 1) {

    $return_feedback.html(data['error_msg']);

}

出于某些原因,我现在似乎无法理解,但我收到了一个错误:

'Uncaught TypeError: Cannot read property 'error' of null'

并指上面的if(data ['error']代码行。

所以我看了我的脚本返回的内容,这是真的 - 没有数据。但是,它不应该只是完全跳过这个if语句吗?或者我应该在调用if语句之前先检查数据值是否存在?

感谢您抽出宝贵时间。

3 个答案:

答案 0 :(得分:3)

数据为空

使用它:

if (!data){
    //throw exception or handle the problem
}
else if(data['error'] === 1) {
    $return_feedback.html(data['error_msg']);
}

答案 1 :(得分:3)

是的,您应首先检查数据是否真实:

if(data && data['error'] === 1) {

    $return_feedback.html(data['error_msg']);

}

答案 2 :(得分:1)

你可以使用这样的东西,这应该没有错误:

if(typeof data!=='undefined' && data['error'] === 1) {