1. #1
    Sencha User
    Join Date
    Feb 2012
    Posts
    5
    Vote Rating
    0
    semanticart is on a distinguished road

      0  

    Default Answered: How can I set global http headers for ajax requests?

    Answered: How can I set global http headers for ajax requests?


    I want to send the device ID in every request to my server. What's the easiest way to globally set headers without regard to what store is being used (inline or a defined class)?

    I came up with this, which works but feels rather hacky:

    Code:
    Ext.override(Ext.data.proxy.Ajax, {
      constructor: function(config) {
        config.headers || (config.headers = {});
        config.headers.uuid = 'SOME-EXAMPLE-UUID';
        return this.callOverridden([config]);
      }
    });
    I'm new to Sencha Touch, so any help is appreciated.


  2. #2
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    St. Louis, MO
    Posts
    33,714
    Vote Rating
    436
    Answers
    3113
    mitchellsimoens has much to be proud of mitchellsimoens has much to be proud of mitchellsimoens has much to be proud of mitchellsimoens has much to be proud of mitchellsimoens has much to be proud of mitchellsimoens has much to be proud of mitchellsimoens has much to be proud of mitchellsimoens has much to be proud of mitchellsimoens has much to be proud of

      0  
    Mitchell Simoens @SenchaMitch
    Sencha Inc, Senior Forum Manager
    ________________
    http://www.JSONPLint.com - Source to lint your JSONP!

    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is almost in print!

    When posting code, please use BBCode's CODE tags.

  3. #3
    Sencha User
    Join Date
    Feb 2012
    Posts
    5
    Vote Rating
    0
    semanticart is on a distinguished road

      0  

    Default


    Thanks, I ended up doing this:

    Code:
    Ext.Ajax.on('beforerequest', (function(klass, request) {  return request.headers.uuid = 'SOME-EXAMPLE-UUID';
    }), this);
    Obviously I'll be using a function instead of hard-coding the uuid. Thanks again for the help, let me know if there's yet a better way.

  4. #4
    Sencha User
    Join Date
    Nov 2012
    Location
    India
    Posts
    20
    Vote Rating
    0
    shri_iitk is on a distinguished road

      0  

    Default set default headers

    set default headers


    This is what I use:

    Code:
    Ext.Ajax._defaultHeaders = {
                'token' : (loggedInUserToken == undefined) ? "" : loggedInUserToken,
                'Accept': 'application/json',
                'Authorization': 'Basic YX5iOmM='
            };

  5. #5
    Sencha User
    Join Date
    Jan 2012
    Location
    London, UK
    Posts
    405
    Vote Rating
    37
    Answers
    15
    shepsii has a spectacular aura about shepsii has a spectacular aura about

      0  

    Default


    I prefer semanticart's way as it's always best to avoid modifying private variables. The former way should be more future-proof.

Tags for this Thread