2014-08-29 78 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); 
    });