2013-09-24 2 views
0

J'ai besoin d'afficher les commentaires sur ma page en récupérant de la base de données.Obtenir les données du serveur et afficher

Je peux obtenir des données de test fictives à partir du fichier .json mais lorsque j'essaie de le connecter avec l'URL de base de données, il ne reçoit pas les données. J'utilise le modèle de guidon js pour boucler les données dans la page html

Voici mes js à fecth les données

var getData = function() { 
     console.group("getData()", "Fetching data from server at", R.settings.endPoints.incoming.getData); 

     var promise = $.ajax({ 
     url: R.settings.endPoints.incoming.getData 
     }); 

     console.log("getData()", "Returing the promise", { promise: promise }); 

     console.groupEnd(); 

     return promise; 
    }; 

DB URL est définie avec .getdata comme ci-dessous

endPoints: { 
      incoming: { 
      getData: "http://localhost:8080/rest/review/getReview" 
      }, 
      outgoing: { 
      sendData: "http://localhost:8080/rest/review/createReview" 
      } 
     } 

Répondre

0

fonction jQuery de $.ajax est asynchrone par défaut de sorte que vous devez mettre votre traitement/afficher le code dans la méthode deferred.done comme ceci:

var promise; 

$.ajax({ 
    url: R.settings.endPoints.incoming.getData 
}) 
    .done(function(msg) { 
    console.log(msg); 
    promise = msg; 
    }); 

Toutefois, si vous souhaitez effectuer une demande synchrone, faire quelque chose comme ceci:

var promise = $.ajax({ 
     url: R.settings.endPoints.incoming.getData, 
     async: false 
     }); 

Notez que selon la documentation officielle:

As of jQuery 1.8, the use of async: false with jqXHR ($.Deferred) is deprecated; 
you must use the success/error/complete callback options instead of the 
corresponding methods of the jqXHR object such as jqXHR.done() or the 
deprecated jqXHR.success(). 
Questions connexes