$ http.post发送授权标题

时间:2015-05-15 00:03:40

标签: angularjs

我正在尝试使用$ http.post调用.NET Web API服务来传递授权标头。

如果我使用它:

$http.post(urls.getEmployeeInfo,
        {
            withCredentials: true,
            headers:{ 'Authorization':  'Basic ' + btoa(username + ":" + password)}
        }
    );

Authorization标头不会发送到我的服务。

以下作品:

$http({
            url: urls.getEmployeeInfo,
            method: "POST",
            withCredentials: true,
            headers: {
                'Authorization': 'Basic ' + btoa(username + ":" + password)
            }
        });

为什么$ http.post不发送授权标题?

由于

1 个答案:

答案 0 :(得分:4)

$http只接受一个参数:config [documentation]

$http.post有三个参数:urldata,(和可选)config [documentation]

因此,如果要传递配置选项(例如标题),则需要将它们作为第三个参数发送,而不是第二个参数:

$http.post(urls.getEmployeeInfo, postData,
    {
        withCredentials: true,
        headers:{ 'Authorization':  'Basic ' + btoa(username + ":" + password)}
    }
);