2010-11-11 46 views
0

我對雅虎Boss API運行ajax查詢來獲取搜索結果中包含的關鍵字列表。我發現當數據包含keyterms的一個空值(例如:「keyterms」:{})時,我的腳本中斷但不會觸發錯誤處理程序 - > error:function()jQuery.ajax空結果集foobars我的功能

我發現,當該腳本休息,警惕(項目[「keyterms」] [「條款」])返回undefined

我的代碼如下,是什麼原因造成的腳本來休息的時候keyterms是空的,我怎麼能迫使它優雅地處理這種情況?

 success: function(data) 
      { 
       var keywords = new Array(); 
       jQuery.each(data['ysearchresponse']['resultset_web'], 
         function(i,item) 
          { 
          jQuery.each(item['keyterms']['terms'], 
          function(i,kw) 
           { 
           key = kw.toLowerCase(); 
           if (keywords[key] == undefined)keywords[key] = 1; 
           else keywords[key] = (keywords[key] + 1); 
           }); 
        }); 

回答

0

這是我不得不爲處理異常做...

function(i,item) 
{ 
if(item['keyterms']['terms']==undefined) item['keyterms']['terms'] = "" ; 
jQuery.each(item['keyterms']['terms'], 
// etc...  
+0

豈不是更好地分配一個空數組或只是繼續? – mpapis 2010-11-12 01:02:56