2012-03-27 85 views
3

我有一个jQuery的JSON Ajax调用我的成功函数中我有以下检查:为什么这会抛出一个错误?

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

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

} 

出于某种原因,我似乎无法理解,虽然现在,我得到一个错误:

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

而且指的是上面的代码,如果(数据[“错误”]行

所以我看什么我的脚本返回,这是真实的 - 没有数据,但随后不该。如果完全一致的话,只是跳过这个呢?还是我应该这样做在调用if语句前检查数据值是否先存在?

感谢您在此上的时间。

回答

3

数据为空

使用这样的:

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

是的,你应该检查,如果数据是truthy第一:

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

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

} 
1

你可以使用这样的事情,这应该没有错误工作:

if(typeof data!=='undefined' && data['error'] === 1) { 
相关问题