Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX] problem z odbiorem danych Json
Forum PHP.pl > Forum > Przedszkole
neo1986kk
Witam mam taki problem:
Pobieram Json dzięki Jquery i data.lenght = undefined mimo że pokazują się dane


  1. $.ajax({
  2. 'url': 'example.php',
  3. 'contentType': 'application/json; charset=utf-8',
  4. 'data': {"search-text": $('#search').val()},
  5. 'dataType': 'json',
  6. 'type': 'GET',
  7. 'success': function(data) {
  8. alert(data.length) // tutaj pokazuje undefined
  9. if(data.length)
  10. {
  11. $autocomplete.empty();
  12. $.each(data, function(index, term) {
  13. $('<li></li>').html(term)
  14. .appendTo($autocomplete).click(function() {
  15. $('#search').val(term);
  16. $autocomplete.hide();
  17. });
  18. });
  19. $autocomplete.show();
  20. }
  21. }
  22.  
  23. jeśli wyrzucę w tym kodzie "if(data.length) wszystko działa jak należy, ale muszę to mieć żeby bez sensu nie pokazywał mi autocomplete jeśli nie ma wartości
krowal
Obiekt w JS nie ma atrybutu length, tylko tablice to mają. Sparsowany przez jQuery string JSON zwracany ze skryptu jest obiektem -> nie ma własności length.
neo1986kk
aha, dzięki a wiesz może jak moge w takim razie sprawdzić czy taki obiekt istnieje

alert(data) pokazuje [object Object] jesli istnieje, a jesli nie to nie zwaraca nic

ale if(data) ma zawsze wartosc true

edit:

niby to rozwiązałem ale nie wiem dobrze

if(data != ' ') { ... }
else $autocomplete.hide();
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.