Chargement de données via Jquery ajax pour une grid de données?

J’ai cet extrait de code (non complet cependant, ignorez la balise de script de fin) ::

 function gotoa(){ var h = $.get("http://localhost:8080/2_8_2012/jsp/GetJson.jsp", function(result) { }); alert(result); var myVar= h; var storedata={ identifier:"ID", label:"name", items: myVar }; var store = new dojo.data.ItemFileWriteStore({data: storedata}); 

Le code pour GetJson.jsp est ::

       Insert title here       

J’ai une méthode de requête aj. Et l’URL que je transmets me renvoie une chaîne de tableau Json. Sortie de l’URL ::

 [{"ID":1,"Names":"Shantanu","Email":"[email protected]"},{"ID":2,"Names":"Mayur","Email":"[email protected]"},{"ID":3,"Names":"Rohit"},{"ID":4,"Names":"Jasdeep"},{"ID":5,"Names":"Rakesh","Email":"[email protected]"},{"ID":6,"Names":"Divyanshu"},{"ID":8,"Names":"hello"},{"ID":9,"Names":"fine"},{"ID":10,"Names":"shivani"}] 

Maintenant, je veux cette sortie pour ma grid de données, c’est-à-dire que je veux que var myVar obtienne cette valeur, puis elle sera transmise à dojo.data.ItemFileWriteStore. Je suis incapable de le faire. S’il vous plaît aider? Merci.

La fonction $.get() est un raccourci pour un appel AJAX utilisant la fonction $.ajax() – et, comme tout le monde le sait, le premier A dans AJAX signifie asynchrone. Si vous voulez exécuter du code en utilisant la réponse d’un appel AJAX, vous devez insérer ce code dans la fonction de rappel transmise à $.get() .

Cela peut ressembler à quelque chose comme ceci (bien que sans code complet, je ne peux pas dire avec certitude:

 function gotoa() { var store; var h = $.get("http://localhost:8080/2_8_2012/jsp/GetJson.jsp", function(result) { var myVar = result; var storedata={ identifier:"ID", label:"name", items: myVar }; store = new dojo.data.ItemFileWriteStore({data: storedata}); // do whatever with store here, if necessary }); } 

modifiez votre balise de script comme ceci:

  

Le code pour GetJson.jsp est:

 <%@page contentType="application/json" %> <%@page import="MyPackage.PopulateTextbox" %> <% String temp1; PopulateTextbox obj = new PopulateTextbox(); temp1 = obj.method(); %> <%=temp1 %> 

Maintenant, appelez gotoa() il initialisera l’appel ajax et obtiendra la réponse dans la fonction de rappel