Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
152 views
in Technique[技术] by (71.8m points)

javascript - Set Request Header jQuery Ajax

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

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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 () { },
});

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...