首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sencha触摸自定义rest代理url

Sencha触摸自定义rest代理url
EN

Stack Overflow用户
提问于 2013-01-24 09:07:43
回答 2查看 2.5K关注 0票数 0

我需要把加法参数传递给泽西服务器。但是我如何提交我的url像..get/{param1}/{param2}/{param3}

这是我的js文件

代码语言:javascript
复制
  Ext.define('bluebutton.view.BlueButton.testing', {
    extend: 'Ext.form.Panel',
    xtype: 'testing',
       requires: [

    'bluebutton.view.BlueButton.TransactionList',
    'bluebutton.view.BlueButton.MemberPopUp',
     'bluebutton.view.BlueButton.MemberDetail',
     'bluebutton.store.BlueButton.MemberList',

    ],
    config: {
     id:'register',
        items :[

              {
                    xtype: 'textfield',
                    name: 'name',
                    label: 'Name'
                },
                {
                    xtype: 'emailfield',
                    name: 'email',
                    label: 'Email'
                },

                 {
                    xtype: 'button',
                    text: 'Send',
                    handler: function(button) {
                        var form = Ext.getCmp('register');
                          values = form.getValues();






//        Select record
        //If load data , restful will using "get",  url will be /users/1
        var User = Ext.ModelMgr.getModel('bluebutton.model.BlueButton.MemberList');
        User.load(123,
         {
            success: function(user) {
            alert(user.get('fullName'));




            }
        }
        );



                    }
                }


        ],


   }

});

Model.js

代码语言:javascript
复制
Ext.define('bluebutton.model.BlueButton.MemberList', {
    extend: 'Ext.data.Model',
    config: {
        idProperty: 'memberModel',
        fields: [
            { name: 'fullName' },
            { name: 'singer' },

        ],

        proxy: {
            type: 'rest',
           url: 'http://localhost:8080/RESTFulExample/rest/json/metallica/get',
            reader: 'json',
            actionMethods: {
                create: 'GET',
                read: 'POST',
                update: 'PUT',
                destroy: 'DELETE'
            },



            reader: {
                type: 'json',

            },

            writer: {
                type: 'json',

            },
        }

    }

});

但是现在我只能像一样传递我的网址.get/123请给我一些solution.Thanks

EN

回答 2

Stack Overflow用户

发布于 2013-01-25 05:22:14

我想到了两件事,首先不要在模型定义中编写代理,而是在初始化存储函数中设置它,这样就可以查看配置数据并在其基础上创建url。例如:

代码语言:javascript
复制
initialize: function() {
        var myId = this.config.uid;
        this.setProxy({
        type: 'rest',
        url: 'http://localhost:8080/RESTFulExample/rest/json/metallica/get/'+myId,
        reader: 'json',
        actionMethods: {
            create: 'GET',
            read: 'POST',
            update: 'PUT',
            destroy: 'DELETE'
        },
        reader: {
            type: 'json',

        },
        writer: {
            type: 'json',

        },
    });
}

在创建这样的商店时,您可以传递id以加载:

代码语言:javascript
复制
    var memberStore = Ext.create('bluebutton.store.BlueButton.MemberList', {
        uid : 123
    });

第二种方法是编写您自己的代理,扩展Ext.data.proxy.Rest并实现buildUrl,以便它检查数据并将其附加到url中。例如:

代码语言:javascript
复制
buildUrl: function(request) {
    var me      = this,
        url     = me.callParent(arguments);
    if(!Ext.isEmpty(someData)){
        url = Ext.urlAppend(url, "data="+someData);
    }
    return url;
}

希望能帮上忙。

为自定义代理编辑示例代码,我过去曾使用该代码在每个请求中附加一些令牌

代码语言:javascript
复制
Ext.define('myapp.proxy.CustomJsonpProxy', {
  extend: 'Ext.data.proxy.JsonP',
  alias: 'proxy.customjsonpproxy',
  buildUrl: function(request) {
    var me      = this,
    url     = me.callParent(arguments);
    if(!Ext.isEmpty(loggedInUserToken)){
      url = Ext.urlAppend(url, "token="+loggedInUserToken);
    }
    return url;
  }
});
票数 2
EN

Stack Overflow用户

发布于 2014-09-16 01:54:28

下面的代码适用于me....to,将param设置为url

代码语言:javascript
复制
myStore.getProxy().getApi().read = myStore.getProxy().getApi().read + param;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14497497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档