如果结果为空,则jQuery ajax

时间:2011-02-03 16:09:41

标签: 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文档中看不到任何内容,所以我该怎么办呢?

1 个答案:

答案 0 :(得分: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>')
});