在extjs中的表单html标记中渲染对象

时间:2015-06-22 05:00:45

标签: javascript json extjs extjs3

我正在使用extjs 3.4。我有一张表格。在里面我想显示一些ajax内容。但是每当警告变量时我都会得到[对象对象]。我试过stringify Json.decode但没有运气。这是我的代码,

var sourcePath = new Ext.data.Store({
                reader: new Ext.data.JsonReader({
                    fields: ['path'],
                    root: 'rows'
                }),
                proxy: new Ext.data.HttpProxy({
                    url: '/plugin/BODImageImport/admin/getsourcepath'
                }),
                autoLoad: true
            });

我的表格,

var bodimportForm = new Ext.form.FormPanel({
            html: "<p>Imgae source: <b>"+ sourcePath +"</b> folder in root directory</p>",
            url: '/plugin/BODImageImport/admin/import',

任何帮助或提示对我都非常有帮助。

更新

我的Json看起来像这样,

{"rows":[{"path":"bodyshop\/tr\/media\/inbox"}]}

我只是想在html标签中获取该路径。

更新 当我使用console.log()打印对象时,我会得到以下内容。但我不知道如何获得我的价值, Console

1 个答案:

答案 0 :(得分:0)

这里的sourcePath是一个商店实例。

所以你不能做html:

Imgae来源:“+ sourcePath +”

为了获得商店内的价值,您必须

//index you are interested
m = sourcePath.getAt( index ) //this will give the model m
//m.path to get the path

并在读者内部

reader: new Ext.data.JsonReader({
                    fields: ['path'],
                    root: 'rowsDir'
                }),

应该是

reader: new Ext.data.JsonReader({
                    fields: ['path'],
                    root: 'rows'
                }),

因为你的json root是行而不是rowsDir