ExtJs教程----Ext.data.Model的Ajax

1.定义Model

Ext.define('ExtJs5Example.model.Student', {
    extend: 'Ext.data.Model',
    alias: 'widget.Student',
    fields: [
        { name: 'StudentID', type: 'string' },
        { name: 'Name', type: 'string' },
        { name: 'Age', type: 'string' }
    ],
    proxy: {
        type: 'ajax',
        api: {
            create: '/Home/SaveSudentInfo',//当调用Model.save()方法时会调用这个方法
            read: '/Home/GetStudentInfo'//<span><span class="comment">//在调用Model的静态方法load时,会默认去这里查数据</span><span>  </span></span>
        },
        reader: {
            type: 'json',
            successProperty: 'success',
            rootProperty: 'data',
            totalProperty: 'total',
            messageProperty: 'message'
        },
        listeners: {
            exception: function (proxy, response, operation) {
                Ext.MessageBox.show({
                    title: 'REMOTE EXCEPTION',
                    msg: operation.getError(),
                    icon: Ext.MessageBox.ERROR,
                    buttons: Ext.Msg.OK
                });
            }
        }
    }

});
2.获取form的数据,给Model赋值,调用model的save 方法

  //获取itemId为StudentInfo的form中所有的数据
  var values = Ext.ComponentQuery.query("StudentInfo")[0].getValues();
  //定义model对象
  var record = Ext.create('ExtJs5Example.model.Student', {});
  //将从form中获取的值赋到model对象中
  record.set(values);
  //调用model对象的save方法
  record.save({
                success: function (form, operation) {
                    Ext.MessageBox.show({
                        title: '提示',
                        msg: operation._resultSet.message,
                        icon: Ext.MessageBox.OK,
                        buttons: Ext.Msg.OK
                    });

                },
                failure: function (form, operation) {
                    Ext.Msg.alert('提示', operation._error);
                }
   });


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ExtJS 中,`reader` 是 `store` 的一个属性,用于解析后台返回的数据并填充到 `store` 的数据模型中。`reader` 通常与 `model` 配合使用,可以根据后台返回的数据结构动态生成数据模型,并将数据填充到数据模型中。 `reader` 可以配置以下几个属性: 1. `type`:指定数据解析的类型,可以是 `json`、`xml`、`html`、`array` 等。 2. `rootProperty`:指定后台返回数据的根节点名称。 3. `record`:指定数据模型的名称,如果不指定,则根据返回数据自动生成。 4. `fields`:指定数据模型的字段,如果不指定,则根据返回数据自动生成。 5. `totalProperty`:指定后台返回数据的总记录数字段名。 6. `successProperty`:指定后台返回数据的成功标识字段名。 7. `messageProperty`:指定后台返回数据的消息字段名。 8. `implicitIncludes`:指定是否自动解析嵌套数据。 使用 `reader` 可以方便地处理后台返回的数据,并将数据填充到 `store` 的数据模型中。例如,以下代码演示了如何使用 `reader` 解析后台返回的 JSON 数据,并填充到 `store` 中: ``` Ext.create('Ext.data.Store', { model: 'User', proxy: { type: 'ajax', url: '/users', reader: { type: 'json', rootProperty: 'data' } }, autoLoad: true }); ``` 上面的代码中,`User` 是一个数据模型,`/users` 是后台返回的 JSON 数据接口,`rootProperty` 指定了返回数据的根节点。当 `store` 加载数据时,`reader` 会解析后台返回的 JSON 数据,并将数据填充到 `User` 数据模型中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值