Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 将json数组转换为ExtJS网格_Ajax_Json_Parsing_Servlets_Extjs - Fatal编程技术网

Ajax 将json数组转换为ExtJS网格

Ajax 将json数组转换为ExtJS网格,ajax,json,parsing,servlets,extjs,Ajax,Json,Parsing,Servlets,Extjs,如何在ajax请求中检索servlet返回的json数组,以便将其放入ExtJS网格? 注意:我的应用程序总是返回一个空网格! 这是我的ajax请求: Ext.Ajax.request({ url: 'src/AccessServlet.java', method:'POST', success: function ( result, request ) { Ext.MessageBox.alert('Success', 'Data return from

如何在ajax请求中检索servlet返回的json数组,以便将其放入ExtJS网格? 注意:我的应用程序总是返回一个空网格! 这是我的ajax请求:

    Ext.Ajax.request({
    url: 'src/AccessServlet.java',
    method:'POST',
    success: function ( result, request ) {
    Ext.MessageBox.alert('Success', 'Data return from the server: '+ result.responseText);
    myData =Ext.util.JSON.decode(result.responseText);
    console.log(myData);
    store.loadData(myData);
    },
    failure: function ( result, request) {      
    Ext.MessageBox.alert('Failed', result.responseText); 
    } 
});
 var store = new Ext.data.ArrayStore({
    fields: [{name: 'name'},
       {name: 'id'},]
});
var grid = new Ext.grid.GridPanel({
    store: store,
    columns: [ {header   : 'Name', 
            width    : 60},
        { header   : 'id', 
            width    : 60},],
         height: 200});
        grid.render('grid');
         });
这是我的servlet:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
      {
       response.setContentType("application/json");
     System.out.println("Right!!You are in servlet now !!!!! ");
    PrintWriter out = response.getWriter();
    // Output stream to STDOUT
    JSONObject myObject = new JSONObject();
    myObject.put("name","xx");
    myObject.put("id","123");
    System.out.println(myObject);
   JSONObject myRecord = new JSONObject();
    myRecord.put("name","yy");
    myRecord.put("id","12");
    System.out.println(myRecord);
    JSONArray myRecords = new JSONArray();
    myRecords.add(myObject);
    myRecords.add(myRecord);
    System.out.println(myRecords);
    }
my web.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-  app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>ajaxWithServlet</display-name>
  <welcome-file-list>
<welcome-file>ajax.html</welcome-file>
 </welcome-file-list>
 <servlet>
  <description></description>
<display-name>AccessServlet</display-name>
<servlet-name>AccessServlet</servlet-name>
<servlet-class>AccessServlet</servlet-class>
<load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
<servlet-name>AccessServlet</servlet-name>
<url-pattern>/AccessServlet</url-pattern>
</servlet-mapping>
</web-app>

ajaxWithServlet
ajax.html
AccessServlet
AccessServlet
AccessServlet
1.
AccessServlet
/AccessServlet

请帮帮我

我认为您的问题在于JsonDataStore的URL。无法通过目录结构访问servlet。这根本行不通。在数据存储中指定servlet to URL属性的应用程序服务器URL。你会发现这很有用

嗯。在ajax请求中,您已将url指定为“url:src/AccessServlet.java”。这是指您正试图直接访问源文件。它不会工作,因为任何Java源文件都不能运行,除非编译。servlet是相同的。此外,还必须在web.xml文件中映射servlet。部署web应用程序时,servlet将通过web.xml中映射的url可用。在ajax请求中使用此url。另一件事是,在servlet中,必须将json对象写入响应。为此使用PrintWriter实例


您是否定义了网格?
store
是为该网格配置的吗?什么不适合你?因为基本上你在这里所做的应该是可行的。是的,我已经定义了我的网格,而store是为我的网格配置的!此外,我的servlet成功返回了一个json数组!但是网格总是空的!!我该怎么办?!我需要你的帮助,请你也发布JSON吗?好的,我在上面发布了我的servlet代码!对不起,我不明白你的意思。你能解释一下吗?!我从一开始就在我的web.xml中映射了我的servlet,我使用printWriter将我的json对象写入响应,正如您所说,但仍然存在相同的问题。请同时发布您的web.xml。好的,我将通过添加我的webxml文件来编辑我的帖子!!注意:通过使用Firebug,它显示以下错误:Ext.error:您试图解码无效的JSON字符串