2012-03-14 6 views
0

У меня есть этот фрагмент кода (не завершена, хотя, игнорировать конечный тег сценария) ::Загрузка данных через Jquery ajax для datagrid?

<script type="text/javascript"> 
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 является ::

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
    <%@ page import="MyPackage.PopulateTextbox" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
<% 

String temp1; 
PopulateTextbox obj = new PopulateTextbox(); 
temp1 = obj.method(); 
%> 

<%=temp1 %> 

</head> 
<body> 


</body> 
</html> 

У меня есть метод GET J запроса. И URL-адрес, который я передаю, возвращает мне строку массива Json. Вывод 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"}] 

Теперь я хочу этот вывод для моей сетки данных я хочу то есть, что вар MYVAR должна получить это значение, а затем оно будет передано на dojo.data.ItemFileWriteStore. Я не могу этого сделать. Пожалуйста помоги ? Благодарю.

+0

Мне нравится вопрос в «пожалуйста, помогите?» – joidegn

ответ

0

Функция $.get() является сокращением для вызова AJAX с использованием функции $.ajax() - и, как известно, первый A в AJAX означает асинхронный. Если вы хотите выполнить код с помощью ответа на вызов 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 
    }); 
} 
+0

Можете ли вы, пожалуйста, помочь мне с некоторым кодом .. как? –

+0

Пробовал это Anthony ... Но не работает .. См. Выше пост ... :( –

0

изменить свой сценарий тег, как это:

<script type="text/javascript"> 
function gotoa(){ 
    $.get("http://localhost:8080/2_8_2012/jsp/GetJson.jsp", function(result) { 
     var storedata={ 
      identifier:"ID", 
      label:"name", 
      items: result 
      }; 

      var store = new dojo.data.ItemFileWriteStore({data: storedata}); 
    }); 

} 
</script> 

Код для GetJson.jsp является:

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

<%=temp1 %> 

Позовите gotoa() это будет инициализировать вызов ajax и получить ответ в функции обратного вызова

+0

Я не получаю это ryt Nemoy .. :(его тоже не отображают ошибки. Но не отображает никакого результата также в данных Я думаю, что элементы: не получают соответствующее значение. Но когда я открываю URL-адрес, я получаю массив значений Json, который я дал в качестве вывода в моих ответах. Какая может быть причина? мы меняем контент Тип в текст/HTML вместо приложения/json? спасибо. –

+0

предупредить ответ и опубликовать его здесь, или вы можете открыть ссылку? – Nemoy

+0

Вот выход, который я открываю ссылку http: // localhost: 8080/2_8_2012 /jsp/GetJson.jsp и тип содержимого text/html: [{"ID": 1, "Имена": "Shantanu", "Email": "[email protected]"}, {"ID": 2 , "Имена": "Mayur", "Электронная почта": "[email protected]"}, { "ID": 3, "Имена": "Rohit"}, { "ID": 4, "Имена" : "Jasdeep"}, { "ID": 5, "Имена": "Ракеш", "Электронная почта": "[email protected]"}, {» ID ": 6," Имена ":« Divyanshu »}, {« ID »: 8,« Имена »:« привет »}] Теперь, когда типом контента является application/json, я получаю то же самое со всеми тегами html и телом n все, с выходом, размещенным вне тега тела, где размещен код сценария. –