通过Jquery ajax为datagrid加载数据?

我有这段代码片段(虽然不完整,但忽略了结束脚本标签)::

 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}); 

GetJson.jsp的代码是::

       Insert title here       

我有一个查询get方法。 我传入的URL返回一个Json数组字符串。 URL的输出::

 [{"ID":1,"Names":"Shantanu","Email":"shantanu.tomar@gmail.com"},{"ID":2,"Names":"Mayur","Email":"mayur.sharma@gmail.com"},{"ID":3,"Names":"Rohit"},{"ID":4,"Names":"Jasdeep"},{"ID":5,"Names":"Rakesh","Email":"rakesh.shukla@gmail.com"},{"ID":6,"Names":"Divyanshu"},{"ID":8,"Names":"hello"},{"ID":9,"Names":"fine"},{"ID":10,"Names":"shivani"}] 

现在我想要我的数据网格的输出,即我希望var myVar应该获得此值,然后它将传递给dojo.data.ItemFileWriteStore。 我无法这样做。 请帮忙 ? 谢谢。

$.get()函数是使用$.ajax()函数进行AJAX调用的简写 – 而且,众所周知,AJAX中的第一个A代表异步。 如果要使用AJAX调用的响应来执行代码,则需要将该代码放在传递给$.get()的回调函数中。

它可能看起来像这样(虽然没有完整的代码,我不能肯定地说:

 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 }); } 

像这样修改你的脚本标签:

  

GetJson.jsp的代码是:

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

现在调用gotoa()它将初始化ajax调用并获得回调函数中的响应