1

所以我在这里学习教程:http ://docs.sencha.com/extjs/4.2.1/#!/guide/application_architecture

我正在运行 extjs4.2.1。

应用程序/控制器/Users.js

Ext.define('AM.controller.Users', {
extend: 'Ext.app.Controller',

models: ['User'],
stores: ['Users'],  
views: ['user.List','user.Edit'],

init: function() {
    this.control({
        'viewport > userlist': {
            itemdblclick: this.editUser
        },
        'useredit button[action=save]': {
            click: this.updateUser
        }
    });
},

editUser: function(grid, record) {
    var view = Ext.widget('useredit');
    view.down('form').loadRecord(record);
},

updateUser: function(button) {
    var win    = button.up('window'),
        form   = win.down('form'),
        record = form.getRecord(),
        values = form.getValues();

    record.set(values);
    win.close();
    // synchronize the store after editing the record
    this.getUsersStore().sync();
}
});

应用/商店/Users.js

Ext.define('AM.store.Users', {
extend: 'Ext.data.Store',
model: 'AM.model.User',
autoLoad: true,

proxy: {
    type: 'ajax',
    reader: {
        type:'json',
        root:'users'
    },
    writer: {
        type:'json',
    },
    api:{
        read: 'data/users.json',
        update: 'data/updateUsers.json'
    }
}
});

但是,updateUsers.json 永远不会在保存时更新 (.sync())。

我检查了 API 文档并广泛搜索了谷歌。我发现有人有同样的问题但没有答案。

4

1 回答 1

2

json 文件只是一个文本文件,所以不,它不会被更新,因为没有什么可以处理它。想象一下,如果一个页面可以向服务器发出请求并更改内容。这将是一个巨大的安全漏洞。

您需要 PHP/C#/Java/whatever 来实际使用它。

我很好奇你为什么期望它会更新,你是网络编程新手吗?

于 2013-09-14T00:18:04.560 回答