2010-11-11 115 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