2014-08-29 43 views
0

我有问题,自动完成与$.getJSON ... 我需要显示“无结果”的消息,但我不能因为data.length== 0。 我知道$.getJSON返回对象,这就是为什么data.length不是== 0 ... 有人有解决方案吗?

$.getJSON(restUrl, function (data) 
    { 
    var suggestions = []; 
    no_results = !data || data.length == 0; 
    if (!no_results) 
    { 
     $.each(data, function (key,val) 
     { 
     suggestions.push({      
       label: val.name, 
       mail: val.mail, 
       adress: val.adress 
      }); 
     }); 
    } 
    else 
     { 
     suggestions.push({ 
     label: "No Results found." 
     }); 
     } 
    response(suggestions); 
    }); 
}, 
+0

您可能会返回错误* *从restUrl并检查它在回调 – 2014-08-29 08:14:55

回答

0

它的工作!

$.getJSON(restUrl, function (data) 
    { 
     response($.map(data, function(item) { 
        return { 
         label: item.name, 
         mail: item.mail, 
         address: item.address 
         } 
       })); 
    }) 
    .error(function() { 
     var suggestions = []; 
     suggestions.push({      
       label: "No Results" 
       }); 
     response(suggestions); 
    });