我正在尝试通过标题传递用户的语言首选项。但这还没有过去。我的方法是GET,但在后端我看到OPTIONS成功完成,但是我从未执行过的实际GET请求。
@Injectable()
export class InterceptAPICalls implements HttpInterceptor {
constructor() { }
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
try {
var token=currentUserToken(); //get current user token
// add it if we have one
if (token) {
req = req.clone({ headers: req.headers.set('Authorization','Bearer ' + token) });
}
}
catch (e){
if(e instanceof TypeError){
//most porbably currentUser is not found
}
}
// setting the accept header
req = req.clone({ headers: req.headers.set('Accept', 'application/json') });
//add language
var lang=localStorage.getItem('lang') || 'en'; //get the language
req = req.clone({ headers: req.headers.set('language',lang) }); //add to header.
return next.handle(req);
}
}
答案 0 :(得分:0)
您是否可能遇到CORS问题?如果您的服务器位于其他域中,则需要配置CORS以允许客户端的来源。否则,浏览器将阻止该请求。 https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS