【发布时间】:2025-11-30 22:50:01
【问题描述】:
我尝试向服务器发送请求 GET,但他返回给我 401 - 无授权。在邮递员上,我使用相同的路线,但使用我的姓名和用户的基本身份验证。在 Angular 中,我尝试使用标头发送我的授权,但我总是收到 401。这是我的代码:有什么想法吗?谢谢大家。对不起我的英语不好。
public get(route, skipToken?: boolean) {
const me = this;
let options;
if (!skipToken) {
options = {
headers: {
'Content-Type': 'application/json',
'Authorization': 'Basic myuser:mypswd',
'Access-Control-Allow-Origin': '*',
'withCredentials': 'true',
'Access-Control-Allow-Headers': 'Authorization'},
search: me.getSearchParamToken()
};
} else {
options = {
headers: {
'Content-Type': 'application/json',
'Authorization': 'Basic myuser:mypswd',
'Access-Control-Allow-Origin': '*',
'withCredentials': 'true',
'Access-Control-Allow-Headers': 'Authorization'}
};
}
return me.http.get(route, options).map(response => response.json() || {}).catch(me.handleError);
}
【问题讨论】:
-
您确定您的服务器使用 HTTP 基本身份验证吗?而且您正在使用正确的凭据进行身份验证?
-
嗨@Rohan 我使用邮递员,用户名和密码相同,没有问题。如果邮递员工作,问题是我的代码?谢谢
-
请确认您是否在邮递员中选择了任何编码选项。可能是服务器需要您的编码格式的凭据,而邮递员正在内部进行。 Bcoz 代码似乎对于 GET 调用是正确的。
-
@Rohan 实际我查看标头和邮递员在 base64 中转换用户和密码?我尝试使用此代码但不起作用.... 可以查看所有标题吗?谢谢
标签: angular get angular2-routing frontend