NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
janci#3
Člen
Avatar
janci#3:28.4.2016 19:42

ja mám taký problém že mám AJAX funkciu ktorá mi načíta JSON objekty ale kým sa tá funkcia spraví tak mi už načíta stránku bez toho aby mi to tam zobrazilo.. vedeli by ste mi prosím poradiť ?

function getComment(){
        var xhttp = new XMLHttpRequest();
        xhttp.open("GET", "getComment?id=" + index);
        xhttp.send(null);
        xhttp.onreadystatechange = function(){
                if(xhttp.readyState == 4){
                        $scope.comments = JSON.parse(xhttp.response);
                        console.log($scope.comments);
                }
        }
        }
<div ng-repeat="x in comments">
{{x.text}}
</div>
 
Odpovědět
28.4.2016 19:42
Avatar
Robert Poč
Člen
Avatar
Robert Poč:29.4.2016 9:08

Vytvoř si div pro comments
Použij jquery, pro snažsí praci s DOM
Udělej si funkci, která zpracuje výsledek dat.
Asi tak

<div id='comments'></div>
function Vypis(data)
for (var i = 0; i < data.length; i++) {
$('#comments')­.append(data[i]­.comment);
}

ve své funkci dej do sekce readyState
Vypis (xhttp.responseů)

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
29.4.2016 9:08
Avatar
janci#3
Člen
Avatar
Odpovídá na Robert Poč
janci#3:29.4.2016 21:53

Ďakujem už mi to ide :)

 
Nahoru Odpovědět
29.4.2016 21:53
Avatar
janci#3
Člen
Avatar
janci#3:29.4.2016 22:13

takto som to spravil :

function getComment(vypis){
        var xhttp = new XMLHttpRequest();
        xhttp.onreadystatechange = function(){
                if(xhttp.readyState == 4){
                        vypis(JSON.parse(xhttp.response));
                }
        }
        xhttp.open("GET", "getComment?id=" + index);
        xhttp.send(null);

        }
        getComment(function(data) {
                var i;
                for(i = 0; i<data.length;i++){
                        $("#commentsDiv").append(data[i].text);
                }
 
Nahoru Odpovědět
29.4.2016 22:13
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 4 zpráv z 4.