JQuery AJAX, если результаты пусты - PullRequest
0 голосов
/ 03 февраля 2011

Я делаю поиск ajax с использованием jQuery, и все идет гладко. Однако я хочу иметь возможность сделать что-то особенное, если сам поиск успешен, но возвращает пустой результат. Например, я использую такой код для поиска:

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 Ответ

4 голосов
/ 03 февраля 2011

Предполагая, что данные ответа являются массивом 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>')
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...