servlet代码:
package servlet;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class menuJson extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.write("{\"provincelist\":[{\"id\":1,\"province\":\"河南省\"},{\"id\":2,\"province\":\"河北省\"},{\"id\":3,\"province\":\"山西省\"},{\"id\":4,\"province\":\"山东省\"},{\"id\":5,\"province\":\"湖南省\"},{\"id\":6,\"province\":\"湖北省\"},{\"id\":7,\"province\":\"四川省\"},{\"id\":8,\"province\":\"辽宁省\"},{\"id\":9,\"province\":\"吉林省\"},{\"id\":10,\"province\":\"黑龙江省\"},{\"id\":11,\"province\":\"广东省\"},{\"id\":12,\"province\":\"浙江省\"},{\"id\":13,\"province\":\"福建省\"},{\"id\":14,\"province\":\"甘肃省\"},{\"id\":15,\"province\":\"江西省\"},{\"id\":16,\"province\":\"陕西省\"},{\"id\":17,\"province\":\"海南省\"},{\"id\":18,\"province\":\"江苏省\"},{\"id\":19,\"province\":\"安徽省\"},{\"id\":20,\"province\":\"云南省\"},{\"id\":21,\"province\":\"贵州省\"},{\"id\":22,\"province\":\"天津市\"},{\"id\":23,\"province\":\"北京市\"},{\"id\":24,\"province\":\"上海市\"},{\"id\":25,\"province\":\"重庆市\"},{\"id\":26,\"province\":\"新疆维吾尔族自治区\"},{\"id\":27,\"province\":\"内蒙古自治区\"},{\"id\":28,\"province\":\"西藏自治区\"},{\"id\":29,\"province\":\"广西壮族自治区\"},{\"id\":30,\"province\":\"宁夏回族自治区\"},{\"id\":31,\"province\":\"香港特别行政区\"},{\"id\":32,\"province\":\"澳门特别行政区\"}]}");
out.flush();
out.close();
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}}ExtJS代码:
Ext.onReady(function(){   
    var storeProvince = new Ext.data.JsonStore({   
        autoLoad:true,   
        //data:{"provincelist":[{"id":1,"province":"河南省"},{"id":2,"province":"河北省"},{"id":3,"province":"山西省"},{"id":4,"province":"山东省"},{"id":5,"province":"湖南省"},{"id":6,"province":"湖北省"},{"id":7,"province":"四川省"},{"id":8,"province":"辽宁省"},{"id":9,"province":"吉林省"},{"id":10,"province":"黑龙江省"},{"id":11,"province":"广东省"},{"id":12,"province":"浙江省"},{"id":13,"province":"福建省"},{"id":14,"province":"甘肃省"},{"id":15,"province":"江西省"},{"id":16,"province":"陕西省"},{"id":17,"province":"海南省"},{"id":18,"province":"江苏省"},{"id":19,"province":"安徽省"},{"id":20,"province":"云南省"},{"id":21,"province":"贵州省"},{"id":22,"province":"天津市"},{"id":23,"province":"北京市"},{"id":24,"province":"上海市"},{"id":25,"province":"重庆市"},{"id":26,"province":"新疆维吾尔族自治区"},{"id":27,"province":"内蒙古自治区"},{"id":28,"province":"西藏自治区"},{"id":29,"province":"广西壮族自治区"},{"id":30,"province":"宁夏回族自治区"},{"id":31,"province":"香港特别行政区"},{"id":32,"province":"澳门特别行政区"}]},
        url : "http://localhost:8080/jpkc/admin/menuJson",   
        root : "provincelist",   
        fields : [{   
            name : 'id'  
        }, {   
            name : 'province'  
        }]   
    });   
     var comboProvince = new Ext.form.ComboBox({   
        store: storeProvince,   
        name:'cName',   
        fieldLabel:"选择省",   
        mode: 'local',   
        triggerAction: 'all',   
        valueField: 'id',   
        displayField: 'province',   
        hiddenName:'id',   
        emptyText: '请选择所在省',   
        blankText: '请选择...',   
        selectOnFocus: true,   
        allowBlank: false,   
        editable: false  
    });
    var form = new Ext.form.FormPanel({   
        labelAlign : 'right',   
        labelWidth : 60,   
        renderTo:Ext.getBody(),   
        title:"选择",   
        width:290,   
        frame : true,   
        items : [{   
              layout : 'form',   
              items : [comboProvince]   
        }]   
    })   
})  
前台页面代码:
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>添加用户</title>
<link type="text/css" href="../style/manage.css" />
<link rel="stylesheet" type="text/css" href="../ext/resources/css/ext-all.css" />
<script type="text/javascript" src="../ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../ext/ext-all.js"></script>
<script type="text/javascript" src="../ext/localXHR.js"></script>
</head>
<body>
<script type="text/javascript" src="../javascript/addMenu.js"></script>
</body>
</html>
Json数据:{"provincelist":[{"id":1,"province":"河南省"},{"id":2,"province":"河北省"},{"id":3,"province":"山西省"},{"id":4,"province":"山东省"},{"id":5,"province":"湖南省"},{"id":6,"province":"湖北省"},{"id":7,"province":"四川省"},{"id":8,"province":"辽宁省"},{"id":9,"province":"吉林省"},{"id":10,"province":"黑龙江省"},{"id":11,"province":"广东省"},{"id":12,"province":"浙江省"},{"id":13,"province":"福建省"},{"id":14,"province":"甘肃省"},{"id":15,"province":"江西省"},{"id":16,"province":"陕西省"},{"id":17,"province":"海南省"},{"id":18,"province":"江苏省"},{"id":19,"province":"安徽省"},{"id":20,"province":"云南省"},{"id":21,"province":"贵州省"},{"id":22,"province":"天津市"},{"id":23,"province":"北京市"},{"id":24,"province":"上海市"},{"id":25,"province":"重庆市"},{"id":26,"province":"新疆维吾尔族自治区"},{"id":27,"province":"内蒙古自治区"},{"id":28,"province":"西藏自治区"},{"id":29,"province":"广西壮族自治区"},{"id":30,"province":"宁夏回族自治区"},{"id":31,"province":"香港特别行政区"},{"id":32,"province":"澳门特别行政区"}]}在线等!求教哪里出问题了?

解决方案 »

  1.   

    var storeProvince = new Ext.data.JsonStore({   
            autoLoad:true,      
            url : "http://localhost:8080/jpkc/admin/menuJson",   
            root : "provincelist",   
            fields : [ 'id','province']
        }); 
    你的servlet没问题,因为你都已经看到json了,应该是store配置有点问题,改这样试试
      

  2.   

    问题依旧,fields没有问题,这样直接赋值可以成功的
    data:{"provincelist":[{"id":1,"province":"河南省"},{"id":2,"province":"河北省"},{"id":3,"province":"山西省"},{"id":4,"province":"山东省"},{"id":5,"province":"湖南省"},{"id":6,"province":"湖北省"},{"id":7,"province":"四川省"},{"id":8,"province":"辽宁省"},{"id":9,"province":"吉林省"},{"id":10,"province":"黑龙江省"},{"id":11,"province":"广东省"},{"id":12,"province":"浙江省"},{"id":13,"province":"福建省"},{"id":14,"province":"甘肃省"},{"id":15,"province":"江西省"},{"id":16,"province":"陕西省"},{"id":17,"province":"海南省"},{"id":18,"province":"江苏省"},{"id":19,"province":"安徽省"},{"id":20,"province":"云南省"},{"id":21,"province":"贵州省"},{"id":22,"province":"天津市"},{"id":23,"province":"北京市"},{"id":24,"province":"上海市"},{"id":25,"province":"重庆市"},{"id":26,"province":"新疆维吾尔族自治区"},{"id":27,"province":"内蒙古自治区"},{"id":28,"province":"西藏自治区"},{"id":29,"province":"广西壮族自治区"},{"id":30,"province":"宁夏回族自治区"},{"id":31,"province":"香港特别行政区"},{"id":32,"province":"澳门特别行政区"}]},
            autoLoad:true,   
            //url : "http://localhost:8080/jpkc/admin/menuJson",   
            root : "provincelist",   
            fields : [{   
                name : 'id'  
            }, {   
                name : 'province'  
            }]
      

  3.   

    这是我这边自己写过的找出来的,你试试看看      
      caProxy = new Ext.data.HttpProxy({
    url : "xxx"
    });
    var ccstore = new Ext.data.JsonStore({
    fields : ['xxx', 'xxxx'],
    proxy : caProxy,
    reader : new Ext.data.JsonReader({})
    });
      

  4.   

    Json格式这么拼
    String sbnew = "{metaData:{totalProperty : 'total',root : 'result',fields:['id','province']},total:20, result :[{id:1,province:'河南省'},{id:2,province:'河北省'},{id:3,province:'山西省'},{id:4,province:'山东省'},{id:5,province:'湖南省'},{id:6,province:'湖北省'},{id:7,province:'四川省'},{id:8,province:'辽宁省'},{id:9,province:'吉林省'},{id:10,province:'黑龙江省'},{id:11,province:'广东省'},{id:12,province:'浙江省'},{id:13,province:'福建省'},{id:14,province:'甘肃省'},{id:15,province:'江西省'},{id:16,province:'陕西省'},{id:17,province:'海南省'},{id:18,province:'江苏省'},{id:19,province:'安徽省'},{id:20,province:'云南省'},{id:21,province:'贵州省'},{id:22,province:'天津市'},{id:23,province:'北京市'},{id:24,province:'上海市'},{id:25,province:'重庆市'},{id:26,province:'新疆维吾尔族自治区'},{id:27,province:'内蒙古自治区'},{id:28,province:'西藏自治区'},{id:29,province:'广西壮族自治区'},{id:30,province:'宁夏回族自治区'},{id:31,province:'香港特别行政区'},{id:32,province:'澳门特别行政区'}]}";
        var storeProvince = new Ext.data.JsonStore({   
            autoLoad:true,   
            url : "test",    
            reader : new Ext.data.JsonReader({})
        }); 
      

  5.   

    或者把你的测试代码打包发给我  [email protected]
      

  6.   

    String sbnew = "{metaData:{totalProperty : 'total',root : 'result',fields:['id','province']},total:1, result :[{id:1,province:'河南省'},{id:2,province:'河北省'}]}";
    js var   storeProvince   =   new   Ext.data.JsonStore({       
                    autoLoad:true,       
                    url   :   "test ",         
                    reader   :   new   Ext.data.JsonReader({}) 
            }); 
    清楚了没...
      

  7.   

    问题已找到、我的代码没有任何问题!
    删掉此句后就OK了! 感谢LastJune悉心教导!  <script type="text/javascript" src="../ext/localXHR.js"></script>
      

  8.   

    你好,初学ExtJS,想问问这个在web.xml中咋配置的啊?