后台action的数据是json格式,在控制台以及firebug中看到都是有的,但就是不在combobox中展现数据?急,求各位大神指导,已被这个问题困扰好久了

发布于 2021-11-25 10:36:08 字数 3222 浏览 500 评论 12

action层中的代码:

private String comboJson;

public String getComboJson() {
		return comboJson;
	}

	public void setComboJson(String comboJson) {
		this.comboJson = comboJson;
	}

public String accquireDataTypeData() throws TNBusinessException{
		String comboJson = "{total:3,rows:[{"+
				"tNDataTPId:'01',DataTpName:'南京'},"+
				"{tNDataTPId:'02',DataTpName:'镇江'},"+
				"{tNDataTPId:'03',DataTpName:'泰州'}"+
				"]}";
		setComboJson(comboJson);
		System.out.println(comboJson);
		return "combo/DataType";
	}



控制台打印结果为:

firebug的结果:

js代码如下:

Ext.define("dataTypeStore",{
        extend:"Ext.data.Model",
        fields:[{name:'DataTpName',mapping:'DataTpName'}, {name:'tNDataTPId',mapping:'tNDataTPId'}]
    });
    
    var dataTypeData = Ext.create("Ext.data.JsonStore",{
            model:"dataTypeStore",
            
            proxy: new Ext.data.HttpProxy({  
               url: 'test/test!accquireDataTypeData.action'//请求路径  
              }), )
            
        });
{
                                                columnWidth : .25,
                                                xtype: 'combobox',
                                                name:"combo1",
                                                id:"combo"+index,
                                                margin: '5 10 5 10',
                                                //width: 262,
                                                fieldLabel: 'Data Type',
                                                labelWidth: 80,
                                                mode:"remote",//[local|remote]
                                                triggerAction  : 'all',
                                                valueField:"tNDataTPId",
                                                displayField:"DataTpName",
                                                store: dataTypeData,
                                                //lazyRender:true,
                                                //width:300,
                                                typeAhead: true,
                                                //selectOnFocus:true,
                                                allowBlank:false,
                                               
                                                             }
                                                }
                                            }
不知道是否是json数据格式的问题,还是怎么了,每次点击下拉框,都无数据展示,效果如下图:

求各位大神帮忙,小女子感激不尽~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(12

惜醉颜 2021-11-27 04:59:56

回复
可能是我刚刚的那个combobox有问题,我在下面的那个combobox试了下,load了那样的json数据,数据展现了。这种做法不就是将数据在js内写死嘛,之前我写死的时候,是能展现数据的,主要是如果从后台传过来的话,它就不展现,是咋回事呀?求救求救~

皇甫轩 2021-11-27 04:59:56

回复
你好,我按照你的说法load了那个数据,不展现数据,还报了这样的错:Ext.Error: You are using a ServerProxy but have not supplied it with a url.

眼眸里的那抹悲凉 2021-11-27 04:59:56

dataTypeData.loadData([{data1},{data2},...])先看看能不能显示数据

卸妝后依然美 2021-11-27 04:59:56

你好,我按照你说的修改了,这次点击下拉框不是只有一条阴影了,能出现框体,但无数据,请问是咋回事?我已经纠结这个问题很久了,能不能帮帮忙,帮我找找这个错误。。。我是新手,已经纠结很久了。。。先提前说谢谢啦

空城仅有旧梦在 2021-11-27 04:59:56

该问题已解决,错误原因是我从后台传至前台的json数据格式有问题,传到前台之后,还要注意前后台name的对应,我就是有一个大小写没对应,导致数据不展现。

在此,谢谢大大菠萝啦,很细心很细心地给我解惑呢~谢谢谢谢!……

奢望 2021-11-27 04:59:55

数据格式不对,你这个是要加载在combobox的数据,total,rows什么的没用,可以去掉,形成这样的json:{comboJson:[{data1},{data2},{data3}]},同时proxy里面加个属性reader:{type:'json',root:'comboJson'}

爱的故事 2021-11-27 04:59:52

回复
你好,我按照你给的网址,把数据转换为正确的json格式了,放入静态的页面,是能展现出来的,但一从后台调用,就不展现数据,只有下拉框体。。。。

凡尘雨 2021-11-27 04:59:52

回复
而且 控制台跟firebug是同一个数据

无声静候 2021-11-27 04:54:22

回复
我给你的那个网站只是格式化一下你的JSON数据。让数据好看点。其实数据的内容是没有变的。如果静态有内容。可能是你接受数据的时候存在一些问题。你可以试试ALERT一下。对比一下数据,或者格式化一下firebug的看看?

看透却不说透 2021-11-27 04:22:25

回复
那个。。。能不能给个QQ号,或者邮箱也可以,我是新手,怕有些问题问出来会被笑话,想私聊

奢望 2021-11-27 04:22:24

回复
还有你给我的那个格式化网站,也可以检验json数据是否格式正确的,错误的话它不给格式化

緦唸λ蓇 2021-11-27 01:20:29

应该是格式不对。你去搜索一个 Json格式话。把你返回的数据格式化一下。看是不是你想要的JSON数据。如果是你想要的数据。先把这个数据静态的放在EXT里。看下拉能否显示。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文