如何在Sencha Touch2中通过rest代理执行RESTful请求

时间:2012-05-15 16:07:59

标签: sencha-touch-2

我想执行像

这样的RESTful get请求
"/commments/123" <br/>

但它总是请求像这样的附加参数

:<br/>
" _dc=1337095865783&page=1&start=0&limit=25" <br/>

请告诉我如何将addtional参数转换为RESTful请求

1 个答案:

答案 0 :(得分:4)

您可以通过在代理对象(limitParam,enablePagingParams,startParam等)上将任何xxxParam选项设置为false来自动删除Sencha自动添加的额外参数,并使用noCache禁用_dc缓存查询字符串:

proxy: {
    type: 'rest',
    url: '/comments',
    noCache: false,
    limitParam: false,
    enablePagingParams: false,
    startParam: false
}

如果您正在关注Sencha的模型/商店结构,那么您可以为您的商店制作一个休息代理并告诉它包含该ID(默认情况下会这样做):

new Ext.data.Store({
    model: "comments",
    autoLoad: false,
    proxy: {
        type: 'rest',
        url: '/comments',
        appendId: true, //default
        noCache: false,
        limitParam: false,
        enablePagingParams: false,
        startParam: false
    }
});

// Collection url: /comments
// Instance url  : /comments/123

最后,您可以在代理上使用buildUrl方法为请求创建自定义Url格式。

参考http://docs.sencha.com/touch/2-0/#!/api/Ext.data.proxy.Rest了解更多详情。