I'm stuck in a very strange problem, I want to send an extra param Authorization in my ajax request to a service, just like this
Request headers Authorization: bearer t-3e57cc74-3e7a-4fc7-9bbb-f6c83252db01 User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11 Accept: */* Accept-Encoding: gzip,deflate,sdch Accept-Language: en-US,en;q=0.8 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 Cookie: JSESSIONID=908D73C50F09E75C9A0D674C4CB33D2F; ROUTEID=.1; __unam=3c3246b-13bc693352d-aa1535c-1
But Using this code
headerParams = {'Authorization':'bearer t-7614f875-8423-4f20-a674-d7cf3096290e'}; obj = { type: 'get', url: 'https://api.sandbox.slcedu.org/api/rest/v1/students/test1', headers: headerParams, data: [], dataType: 'json', processData: false, success: function(data) { console.log('success'); console.log(data); } }; jQuery.ajax(obj);
It send like this which is not passing the value, also its request type become OPTION instead of GET, here is console log
Accept: */* Accept-Encoding gzip, deflate Accept-Language en-US,en;q=0.5 Access-Control-Request-Headers authorization Access-Control-Request-Method GET Connection keep-alive Host api.sandbox.slcedu.org Origin http://localhost User-Agent Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/17.0
Can anyone tell me how can I pass it like this Authorization: bearer t-3e57cc74-3e7a-4fc7-9bbb-f6c83252db01
Thanks
The headers are additional key-value pairs send along with ajax request using the XMLHttpRequest object. An asynchronous HTTP request to the server by using The ajax() function and by including the header it describes to the server what kind of response it accept.
ajax({ url: 'foo/bar', headers: [{ 'my-first-header': 'blub'}, { 'my-second-header': 'peng'}] }); This creates a strange empty header field, containing a json array.
With interactive websites and modern web standards, Ajax is gradually being replaced by functions within JavaScript frameworks and the official Fetch API Standard.
Using the beforeSend pre-request callback we can achieve this.
$.ajax({ url: 'https://api.sandbox.slcedu.org/api/rest/v1/students/test1', type: 'GET', beforeSend: function (xhr) { xhr.setRequestHeader('Authorization', 'Bearer t-7614f875-8423-4f20-a674-d7cf3096290e'); }, data: {}, success: function () { }, error: function () { }, });
And you can set it for all requests with ajaxSetup
$.ajaxSetup({ beforeSend: function(xhr) { xhr.setRequestHeader('Authorization', '...'); } });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With