模型在" destroy"上发布JSON数据请求

时间:2012-03-01 23:50:15

标签: javascript ajax json post extjs

我有以下问题,我似乎无法解决,即使在网上搜索论坛也没有提供任何有用的提示。

我有以下代码,它确定Ext.Tree.Panel中的第一个选定记录并发送销毁请求。但是,会发布JSON对象而不是预期的名称/值查询字符串。

var record = this.getClientUserTree().getSelectedRecord();

record.destroy({
     scope: this,
     success: this.onDeleteUserSuccess,
     failure: this.onDeleteUserFailure
});

我包含相应模型的代码以及调度请求的代码。

Ext.define('Admin.model.Client', {
    extend: 'Ext.data.Model',
    fields: ['id', 'name', 'company', 'address', 'postal_code', 'city', 'country', 'phone', 'fax', 'note'],

    proxy: {
        type: 'ajax',
        api: {
            read: 'clientajax',
            destroy: 'clientajax/delete'
        },
        reader: {
           type: 'json',
           root: 'results'
       }
    }
});

在请求中发布字符串:

{"id":"14","client":"5","username":"Testtest","firstName":"Genti","lastName":"Testing","role":"admin","superadmin":false}

谁能告诉我我做错了什么?

提前感谢您的帮助, Genti

1 个答案:

答案 0 :(得分:1)

Ext.data.Model destroy方法使用代理的destroy方法。

不幸的是,我从未在ExtJS4 API中找到非JSON或XML代理。我绝对不得不使用Ext.data.proxy.Server extraParams属性将字符串值参数传递给我的服务器。

你也可以尝试extending the proxy to accommodate what you need,但我从来没有尝试过。

尽管如此,请记住,有很多用于解析JSON或XML的库,要将它们集成到服务器上并不太难,您还应该看一下该路由。