2012-03-27 88 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) {