Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX] problem z odbiorem danych Json
neo1986kk
post
Post #1





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
krowal
post
Post #2





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


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.


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
neo1986kk
post
Post #3





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

Ostrzeżenie: (0%)
-----


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();

Ten post edytował neo1986kk 22.04.2011, 15:16:10
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 08:45