1

我正在使用 yii 框架在 Ext Js4 中开发网站。我陷入了一个问题,即如何访问从服务器返回的 json 数据到 Ext js 4。实际上我想显示消息字段以及 json 代码中的每个字段在 ext js 4. 我该怎么做?

这是我的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
            });

给我一些建议

4

1 回答 1

2

在模型中添加 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
于 2012-12-04T11:21:07.493 回答