angular$ http头不工作

我的客户端是这样的:

$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.
我尝试了很多方法,但都没有工作。 当我试图与邮递员,我得到的价值,所以我认为我的问题在我的angular度,但我不能弄清楚是什么问题。

这个问题在服务器端,在“OPTIONS”API调用中不需要检查授权

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

在基本身份validation中,使用base64来解码用户名和密码。 因此,注入并使用Base64来编码用户名和密码

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