gpt4 book ai didi

angular - 如何在 Angular 4+ 上使用 cookie 来获取和发布

转载 作者:太空狗 更新时间:2023-10-29 18:08:02 25 4
gpt4 key购买 nike

您能否提供一个示例或引用,说明如何在 angular4+ 上使用 cookie 执行 GET 和 POST?在 angularJS 上有记录,但在 Angular.io 上没有。任何与此等效的内容:Angular4+ 上的“//code.angularjs.org/X.Y.Z/angular-cookies.js”提前致谢

最佳答案

如果您使用的是新的 Angular 5,他们会引入一种叫做 HttpInterceptor ( https://angular.io/guide/http#intercepting-all-requests-or-responses )

您可以做的是创建一个拦截器来获取您的 cookie 并相应地处理它。

import {Injectable} from '@angular/core';
import {HttpEvent, HttpInterceptor, HttpHandler, HttpRequest} from '@angular/common/http';

function getCookie(name) {
const splitCookie = cookie.split(';');
for (let i = 0; i < splitCookie.length; i++) {
const splitValue = val.split('=');
if (splitValue[0] === name) {
return splitValue[1];
}
}
return '';
}

@Injectable()
export class AuthInterceptor implements HttpInterceptor {
constructor(private auth: AuthService) {}

intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
// Get the auth header from the service.
const authHeader = getCookie('auth');
// Clone the request to add the new header.
const authReq = req.clone({headers: req.headers.set('Authorization', authHeader)});
// Pass on the cloned request instead of the original request.
return next.handle(authReq);
}
}

您还可以使用这样的库来处理 cookie: https://github.com/salemdar/ngx-cookie

关于angular - 如何在 Angular 4+ 上使用 cookie 来获取和发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47640596/

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