NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
radian1
Tvůrce
Avatar
radian1:5.7.2017 13:03

Zdravím,
učím se jquery podle mistrovství v jquery, a sem u desáté kapitoly, ale nefunguje následující kód

$.get(url, function(data) {
    $('#gallery').append(data);
});

zde je celý kód:

$(document).ready(function() {
    var pageNum = 1;

    $('#more-photos').click(function() {
        var $link = $(this);
        var url = $link.attr('href');

        if (url) {
            $.get(url, function(data) {
                $('#gallery').append(data);
            });
            pageNum++;
            if (pageNum < 20) {
                $link.attr('href', 'pages/' + pageNum + '.html');
            } else {
                $link.remove();
            }
        }
        return false;
    });
});

pokud kliknu na odkaz "další fotografie" měl by se přes ajax načíst html kod a vložit se do #gallery a zároven by se měl aktualizovat odkaz na další page (a tohle funguje správně jak má)
Díval jsem se do konzole a vypisuje se tam:

Chyba parsování XML: Neshodující se značka. Očekávána značka: </img>.

Tady je to celé drive.google.com/o­pen?id=0Byo-EKD1aSesX2ZSc21paW1v­ZUE kdyby se na to někdo chtěl podívat.
Děkuji za rady :-)

 
Odpovědět
5.7.2017 13:03
Avatar
radian1
Tvůrce
Avatar
Odpovídá na radian1
radian1:5.7.2017 14:46

ta metoda get zpracovává xml soubory ale já tam mám jen čistě html. To bude asi tím :-) tak sem si odpověděl sám...

 
Nahoru Odpovědět
5.7.2017 14:46
Avatar
radian1
Tvůrce
Avatar
radian1:5.7.2017 14:49

ale měl by snad i podle tohodle pracovat i s html https://api.jquery.com/jquery.get/

 
Nahoru Odpovědět
5.7.2017 14:49
Avatar
Odpovídá na radian1
Marian Benčat:6.7.2017 18:12

co? ne.... Koukni se na ten request v F12->Network, dosti pravděpodobně ti ten server vrací špatné MIME odpovědi..

Servere by ti měl vracet něco jako "text/html" a pravděpodobn ti vrací application/xml. Proto se to snaží jQUERY pravděpodobně zparsovat jako XML.

Koukni se tam na "type", případně v detailu requestu na Content-type.

Editováno 6.7.2017 18:12
Nahoru Odpovědět
6.7.2017 18:12
Totalitní admini..
Avatar
radian1
Tvůrce
Avatar
radian1:7.7.2017 18:14

zajímavé :-) Ted sem to nahrál na server a jde to bez problému bez žádné chyby... proč mi to nešlo na pc?

 
Nahoru Odpovědět
7.7.2017 18:14
Avatar
Odpovídá na radian1
Wal De Mar-Lad:7.7.2017 18:42

Ak Ti to ide zo server a nejde lokálne, tak si to pravdepodobne skúšal v Chrome prehliadači, ktorý ajaxové požiadavky na súbory blokuje. Skús to lokálne vo Firefoxe, ten ajax neblokuje ani lokálne.

Nahoru Odpovědět
7.7.2017 18:42
Libraries over frameworks...
Avatar
Odpovídá na Wal De Mar-Lad
Marian Benčat:7.7.2017 18:48

To by ale ty soubory musel mít na filesystemu.. Chrome to blokuje pouze o file:// protokolu. Pokud je to URL normálně na localhost servírovany webserver, tak to neblokuje.

Nahoru Odpovědět
7.7.2017 18:48
Totalitní admini..
Avatar
Odpovídá na Wal De Mar-Lad
Marian Benčat:7.7.2017 19:28

kromě toho... neskocilo by mu to do success callbacku, ale do error.

Nahoru Odpovědět
7.7.2017 19:28
Totalitní admini..
Avatar
Odpovídá na Marian Benčat
Wal De Mar-Lad:7.7.2017 19:41

Neviem. Popravde som ten kód ani nevidel. Len som to tipol, lebo je to najčastejší začiatočnícky problém. A druhý obľúbený problém s $.get() je s dátovým typom. Najčastejšie, aj on tu, použil funkciu takto: $.get(url, cb). Ale vhodnejšie je to takto: $.get(url, cb, 'html') a často je problém vyriešený. Pri prvých experimentoch s jQuery a ajaxom rieši použitie Firefoxu a uvedenie dátového typu hádam aj vyše 90% začiatočníckych problémov.

Nahoru Odpovědět
7.7.2017 19:41
Libraries over frameworks...
Avatar
radian1
Tvůrce
Avatar
radian1:7.7.2017 20:22

zkoušel sem to v chrome a firefoxu, ale nedával jsem to na xamp, mamp, nebo něco podobného...

 
Nahoru Odpovědět
7.7.2017 20:22
Avatar
radian1
Tvůrce
Avatar
Odpovídá na Wal De Mar-Lad
radian1:7.7.2017 20:25

Ale vhodnejšie je to takto: $.get(url, cb, 'html')

díky za tip, ted to funguje, i když se tam zobrazí v konzoli jedna chayba v xml parsování, načte se to jak má.

 
Nahoru Odpovědět
7.7.2017 20:25
Avatar
Odpovídá na radian1
Wal De Mar-Lad:7.7.2017 21:23

Čiže to bolo ono? Ak, tak super, rád som pomohol :)

Nahoru Odpovědět
7.7.2017 21:23
Libraries over frameworks...
Avatar
radian1
Tvůrce
Avatar
Odpovídá na Wal De Mar-Lad
radian1:7.7.2017 22:25

ano bylo to ono, díky

 
Nahoru Odpovědět
7.7.2017 22:25
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.