gpt4 book ai didi

angular - 如何发送数据(Angular 2)?

转载 作者:搜寻专家 更新时间:2023-10-30 21:31:04 24 4
gpt4 key购买 nike

我正在尝试使用 Angular 2 通过 http 请求发送凭据,但 Angular 2 Http get 请求不发送凭据。我做错了什么?

var creds = "username=" + this.username + "&password=" + this.password;
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');

http.get('http://localhost:3000', {
headers: headers,
credentials: creds
})
.map(res => res.json())
.subscribe(
data => this.data(data),
err => this.error(err),
() => console.log('Done')
);

最佳答案

我认为您想使用 HTTP 基本身份验证来访问 protected HTTP 资源。因此,您的凭据需要在 Authorization header 中设置,如下所述:

createAuthorizationHeader(headers:Headers) {
headers.append('Authorization', 'Basic ' +
btoa('username:password'));
}

getData() {
var headers = new Headers();
this.createAuthorizationHeader(headers);

this.http.get('http://localhost:3000'', {
headers: headers
}).map(res => res.json())
.subscribe(
data => this.data(data),
err => this.error(err),
() => console.log('Done')
}

您会注意到您的凭据必须经过 base64 编码。

您的请求似乎是跨域请求,因此适用 CORS 概念。您可以查看此链接了解更多详细信息:http://restlet.com/blog/2015/12/15/understanding-and-using-cors/ .也就是说,我认为您的问题与 CORS 无关。

我在 RequestOptions 中看不到任何 credentials 属性类。

希望对你有帮助,蒂埃里

关于angular - 如何发送数据(Angular 2)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34794688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com