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