仅仅是想测试一下Jason取remote数据,使用ext的combobox组件,但出现问题,无解,请教,代码如下Ext.onReady(function(){
var recordType2 = Ext.data.Record.create([
{name: "code", type: "string"},
{name: "label", type: "string"}
]);
var store4 = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:'/dwr/MyServlet'}),
//proxy: new Ext.data.DWRProxy(Person.getAreas, false),
reader: new Ext.data.JsonReader({
totalProperty:'results',
root:'areas',
id:'area_id'}, recordType2),
/*
reader: new Ext.data.ListRangeReader(
{id:'id', totalProperty:'totalSize'}, recordType),
*/
remoteSort: false
});
var combo4 = new Ext.form.ComboBox({
store : store4,
displayField:'label',
valueField:'code',
hiddenName:'street',
typeAhead:true,
mode:'local',
triggerAction: 'all',
emptyText:'全部',
selectOnFocus:true,
applyTo:'p_s'
});
combo4.store.load();
});<input type=text id=p_s size=20 class=picklist>//MyServlet代码为
void service() {
req.setCharacterEncoding("GBK");
res.setContentType("text/xml; charset=GBK");
PrintWriter pw = res.getWriter();
pw.print("{'results':2, 'areas':[" +
"{'area_id':1, 'code':'HZ','lable':'HongZhen'}," +
"{'area_id':2, 'code':'SP','lable':'ShiPai'}]}");
pw.flush();
}但是web端无法显示该combobox中的下拉数据,firefox中一直提示字符串(json返回的)未组织好的信息
var recordType2 = Ext.data.Record.create([
{name: "code", type: "string"},
{name: "label", type: "string"}
]);
var store4 = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:'/dwr/MyServlet'}),
//proxy: new Ext.data.DWRProxy(Person.getAreas, false),
reader: new Ext.data.JsonReader({
totalProperty:'results',
root:'areas',
id:'area_id'}, recordType2),
/*
reader: new Ext.data.ListRangeReader(
{id:'id', totalProperty:'totalSize'}, recordType),
*/
remoteSort: false
});
var combo4 = new Ext.form.ComboBox({
store : store4,
displayField:'label',
valueField:'code',
hiddenName:'street',
typeAhead:true,
mode:'local',
triggerAction: 'all',
emptyText:'全部',
selectOnFocus:true,
applyTo:'p_s'
});
combo4.store.load();
});<input type=text id=p_s size=20 class=picklist>//MyServlet代码为
void service() {
req.setCharacterEncoding("GBK");
res.setContentType("text/xml; charset=GBK");
PrintWriter pw = res.getWriter();
pw.print("{'results':2, 'areas':[" +
"{'area_id':1, 'code':'HZ','lable':'HongZhen'}," +
"{'area_id':2, 'code':'SP','lable':'ShiPai'}]}");
pw.flush();
}但是web端无法显示该combobox中的下拉数据,firefox中一直提示字符串(json返回的)未组织好的信息
String cb = request.getParameter("callback");
if (cb != null) {
scriptTag = true;
response.setContentType("text/javascript");
} else {
response.setContentType("application/x-json");
}
Writer out = response.getWriter();
if (scriptTag) {
out.write(cb + "(");
}
out.print(dataBlock.toJsonString());
if (scriptTag) {
out.write(");");
}
在你的servlet端加如上代码。
这个去掉吧,你不是xmlreader
如果是xmlreader,就要设置为xml
response.setContentType("application/x-json");
servlet这么写应该就没问题了~··