在 ext js4 中访问 json 数据?
Posted
技术标签:
【中文标题】在 ext js4 中访问 json 数据?【英文标题】:Accessing json data in ext js4? 【发布时间】:2012-12-04 09:13:04 【问题描述】:我正在使用 yii 框架在 Ext Js4 中开发网站。我陷入了一个问题,即如何访问从服务器返回的 json 数据到 Ext js 4。实际上我想显示消息字段以及每个字段在 ext js 4 中的 json 代码中。我该怎么做?
这是我的json代码(json形式的服务器响应)
"success": true,
"data": [
"msg": "uname and pass wrong"
]
这是我的模型类代码
Ext.define('AM.model.Login',
extend:'Ext.data.Model',
idProperty:'id',
fields:['id','uname','pass'],
proxy:
type:'ajax',
url:'http://localhost/Balaee3/index.php?r=site/contact',
reader:
type:'json',
root:'data',
successProperty:'success'
,//end of reader
writer:
type:'json',
root:'records',
//writeAllFields:true
,//End of writer
//end of proxy
);
如何在 ext js4 中访问控制器文件中的 json 代码 在这里我想显示我的 json 数据。
AM.model.Login.load(512,
params:
id: 512
,
success: function(record, operation)
character = record;
,//end of success
failure: function(record, operation)
Ext.Msg.alert('Error', 'Failed to load model from the server.');
,//end of failure
callback: function(record, operation)
//Ext.Msg.alert('Success', 'Model loaded successfully.');
console.log('Success', 'Model loaded successfully.');
//end of call back function
);
给我一些建议
【问题讨论】:
你只需要这个特定的加载操作,还是全局的(所以每次加载模型时机制都是一样的)? 你得到console.log(operation.response.responseText);
的正确回复了吗?
【参考方案1】:
在模型中添加 messageProperty。 试试这样的......
reader:
type: 'json',
root: 'data',
successProperty : 'success',
messageProperty : 'message',
implicitIncludes: true
控制器(服务器)
def message=''
def json = request.JSON
message=data.message
def metaData = [ successProperty : 'success', messageProperty : 'message', totalProperty:'num', root:'data']
def jsonData = [metaData:metaData, success:flag, message:message]
render jsonData as JSON
【讨论】:
感谢您的回复。但仍然没有得到任何领域。我还添加了一些代码 console.log('success',operation.response.scope.reader.jsonData['msg']);但它显示成功未定义以上是关于在 ext js4 中访问 json 数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何:在 Ext JS4 中自动调整 GridPanel 列宽 + 读取网格中的所有列值
从自动完成中选择项目后如何填充 Ext.js 4 网格面板单元格?