要在Angular 8中正确设置cookies,您可以使用Angular的HttpClient模块来发送请求并处理cookies。
首先,您需要导入HttpClientModule并将其添加到您的应用程序的模块中:
import { HttpClientModule } from '@angular/common/http';
@NgModule({
imports: [
HttpClientModule
],
...
})
export class AppModule { }
然后,在您的登录组件中,您可以使用HttpClient发送登录请求,并在响应中处理cookies:
import { HttpClient, HttpHeaders } from '@angular/common/http';
@Component({
...
})
export class LoginComponent {
constructor(private http: HttpClient) { }
login() {
const url = 'https://your-api-url/login';
const credentials = {
username: 'your-username',
password: 'your-password'
};
this.http.post(url, credentials, { observe: 'response' })
.subscribe(response => {
const cookies = response.headers.getAll('Set-Cookie');
// 处理cookies
console.log(cookies);
});
}
}
在上面的代码中,我们使用HttpClient的post方法发送登录请求,并将{ observe: 'response' }选项设置为获取完整的响应对象。这样,我们就可以通过调用response.headers.getAll('Set-Cookie')来获取服务器返回的所有cookies。
您可以根据您的需求进一步处理cookies,例如将它们存储在本地存储中,以便以后在应用程序中使用。
请注意,上述代码仅提供了一个基本的示例,您需要根据您的实际情况进行适当的修改。此外,确保替换示例中的URL,用户名和密码为您自己的值。
希望这可以帮助您解决问题!