簡體   English   中英

angular $ http標頭不起作用

[英]angular $http headers not working

我的客戶端看起來像這樣:

$http(
       {
            method: 'GET',
            url: myConfig.serverUrl + '/getUserId',
            data: '',
            headers: { 'Authorization' : '21321313'},
       });

Node js中的服務器端並表示:

app.use(function (req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With, content-type, Authorization');
next();

});

但請求不設置授權值
OPTIONS /getUserId HTTP/1.1. Host: xxxxx. Connection: keep-alive. Pragma: no-cache. Cache-Control: no-cache. Access-Control-Request-Method: GET. Origin: http://localhost:9000. User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36. Access-Control-Request-Headers: authorization. Accept: */*. Referer: http://localhost:9000/. Accept-Encoding: gzip, deflate, sdch. Accept-Language: en-US,en;q=0.8,he;q=0.6.
我嘗試了很多方法,但沒有一種方法可行。 當我嘗試與郵遞員,我得到的價值,所以我認為我的角度方面的問題,但我不知道是什么問題。

在服務器端這個問題,在“OPTIONS”API調用中無需檢查授權

您需要指定authorization type ,例如'Authorization', 'Basic ZWx1c3VhcmlvOnlsYWNsYXZl'

在基本身份驗證中,base64用於解碼用戶名和密碼。 因此,注入並使用Base64來編碼用戶名和密碼

var token = Base64.encode(username + ':' + password);
$http.defaults.headers.common['Authorization'] = 'Basic ' + token;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM