Results 1 to 5 of 5

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

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Sencha User
    Join Date
    Feb 2012
    Posts
    5
    Vote Rating
    0
      0  

    Default 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 - Sr Software Engineer mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    39,556
    Answers
    3931
    Vote Rating
    1272
      0  
    Mitchell Simoens @LikelyMitch
    Sencha Inc, Senior Software Engineer
    ________________
    Learn BBCode and use it! Checkout the CODE tag!

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

  3. #3
    Sencha User
    Join Date
    Feb 2012
    Posts
    5
    Vote Rating
    0
      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
    25
    Vote Rating
    0
      0  

    Default 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 Premium Member
    Join Date
    Jan 2012
    Location
    London, UK
    Posts
    587
    Answers
    25
    Vote Rating
    88
      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

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •