为了获得网格中的选定行,我使用以下命令:

'#deleteWorkerButton': {
                click: function(me, e, eOpts){
                    var grid = Ext.ComponentQuery.query('Worker')[0];
                    var selected = grid.getSelectionModel().getSelection()[0];

                    grid.getStore().remove(selected);
                }
            }


在我的商店中,我有发布此JSON的网址,但是当我使用json_decode时,我得到了以下信息:

object(stdClass) {
    id => "5";
    name => "tets";
    email => "[email protected]";
    phone => "test";
}


但是我需要array(),而不是stdClass

这是我的商店:

Ext.define('Sabrina.store.Workers', {
    extend: 'Ext.data.Store',
    fields:['id', 'name', 'email', 'phone'],
    proxy: {
        type: 'ajax',
        api: {
            create  : 'php/usuarios.php?action=insert',
            read    : '../mega_sabrina_cake/workers/index',
            update  : 'php/usuarios.php?action=update',
            destroy : '../mega_sabrina_cake/workers/delete'
        },
        actionMethods: {
            create  : 'POST',
            read    : 'POST',
            update  : 'POST',
            destroy : 'POST'
        },
        reader: {
            type: 'json',
            root: 'Worker',
            rootProperty: 'Worker',
            successProperty: 'success',
            messageProperty: 'message'
        },
        writer: {
            type: 'json',
            writeAllFields: true,
            root: 'data',
            encode: true
        },
    },
    autoLoad: true,
    autoSync: true
});


因此,我正在使用它来删除数据。在json_decode()时,我该如何处理我的商店以获取“ NORMAL”数组?

我认为问题出在:

grid.getStore().remove(selected);

最佳答案

只需阅读the docs


  混合json_decode(字符串$ json [,bool $ assoc = false [,int $ depth = 512 [,int $ options = 0]]]
  [...]
   阿索
   如果为TRUE,则返回的对象将转换为关联数组。

10-06 00:50