Я хочу отобразить набор данных, которые я получаю асинхронным вызовом на сервер с помощью метода dojo.xhrget (). Я извлекаю данные через URL и хочу, чтобы каждый раз, когда пользователь нажимал на панели содержимого, новый набор значений отображался в сетке без обновления всей страницы. Проблема в том, что данные не отображаются в сетке. Я получаю сообщение об ошибке методом xhrget ().
Код для моего скрипта ::
<script>
function populateGrid(){
dojo.xhrGet({
url: "http://localhost:8080/2_8_2012/jsp/GetJson.jsp",
load: fillGrid,
error:handleError,
preventCache:true
});
}
function fillGrid(data, ioArgs)
{
alert(data);
var newData = {
identifier: "ID",
items: data
};
var dataStore = new dojo.data.ItemFileReadStore({data: newData, id:"dataStoreId"});
var gridStructure =[[
{ field: "ID",
name: "ID_Emp",
width: "20%",
classes:"firstName"
},
{
field: "Names",
name: "Name",
width: "20%",
classes: "firstName"
},
{ field: "Email",
name: "Mail",
width: "20%",
classes:"firstName"
}
]
];
var grid = dijit.byId("grid.DataGrid");
grid.setStore(dataStore);
grid.startup();
}
function handleError() {
alert("An error occurred while invoking the service.");
}
</script>
Теперь, здесь вывод предупреждений (данных) и http://localhost:8080/2_8_2012/jsp/GetJson.jsp одинаков, т.е. ::
[{"ID":1,"Names":"Shantanu","Email":"shantanu.tomar@gmail.com"},{"ID":2,"Names":"Mayur","Email":"mayur.sharma@gmail.com"},{"ID":26,"Names":"Rohit"}]
Моя функция xhr.get работает нормально с точки зрения извлечения данных. т.е. когда я обновляю значения в базе данных. Я получаю вывод оповещения (данных) с этим обновленным значением без повторного обновления всей страницы. Но данные не отображаются в сетке данных.
Я получаю предупреждение
An error occurred while invoking the service.
Код для http://localhost:8080/2_8_2012/jsp/GetJson.jsp: ::
<%@ page language="java" contentType="application/json; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="MyPackage.PopulateTextbox" %>
<%
String temp1;
PopulateTextbox obj = new PopulateTextbox();
temp1 = obj.method();
%>
<%=temp1 %>
Код разметки:
<div id="grid.DataGrid" data-dojo-type="dojox.grid.DataGrid" title="Simple Grid" data-dojo-props= "autoWidth:true, structure: gridStructure" style="width:900px; height:200px;"></div>
<div id="contentpaneid" dojoType="dijit.layout.ContentPane" title="Pending Activities" style="background-image: url('http://localhost:8080/2_8_2012/images/17.png');" onclick="populateGrid">
Я не понимаю, в чем проблема. Можете ли вы помочь мне узнать, почему я получаю предупреждение об ошибке. Благодарю.