2011-02-03 70 views
0

我正在做一個使用jQuery的ajax查找,這一切都是順風順水。不過,如果查找本身成功,但我希望能夠做一些特殊的事情,但返回一個空的結果。比如我用這樣的代碼來執行查找:如果結果爲空,jQuery ajax

jq.ajax({ 
    url: '/getMatches', 
    dataType: 'json', 
    data: 'text=' + jq(this).val(), 
    success: function(data) { 
    jq.each(data, function(k, v) { 
     jq('#results ul').append('<li><a href="' + v.url + '">' + v.title + '</a></li>') 
    }); 
    } 
}); 

如果有結果會是這樣的:

<div id="results"> 
    <ul> 
    <li><a href="www.example.com/one">Example one</a></li> 
    <li><a href="www.example.com/two">Example two</a></li> 
    <li><a href="www.example.com/three">Example three</a></li> 
    </ul> 
</div> 

我想如果沒有做到以下幾點結果:

<div id="results"> 
    <p>There are no results</p> 
</div> 

我在jQuery文檔中看不到任何東西,所以我該怎麼做?

回答

4

假設響應數據是一個JSON數組,你可以簡單地檢查length屬性:

if(!data.length) { 
    //no results... 
    return; 
} 

jq.each(data, function(k, v) { 
    jq('#results ul').append('<li><a href="' + v.url + '">' + v.title + '</a></li>') 
}); 
+0

大,效果很好。順便說一句,triple等於什麼意思?我通常會使用一個double equals – chrism 2011-02-03 16:20:29