【发布时间】:2020-05-24 06:08:14
【问题描述】:
我正在尝试通过后端获取我在标题上声明的变量,但此代码不起作用:
在我的后端:(express + knex):
async login(req, res) {
const {
user_name,
email
} = req.body;
let {
id
} = await connetion('user')
.where('email', email)
.andWhere('user_name', user_name)
.select(['id'])
.first();
if (id == undefined) {
console.log('entrou no if'.italics.blue);
await connetion('user').insert({
user_name,
email
})
let {
id
} = await connetion('user')
.where('email', email)
.andWhere('user_name', user_name)
.select(['id'])
.first();
res.header('authorization', id);
console.log(id);
console.log('\n<ยบ>'.bold.yellow + ' novo usuario '.cyan + user_name + ' criado e logado'.cyan);
res.status(201).send(); //? 201 : created
return res.json({
id
})
}
我是我的 service.ts(angular):
import { retry, map } from 'rxjs/operators';
import { host } from './host';
import { User } from './../models/user';
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable({providedIn: 'root'})
export class AuthService {
constructor(private http: HttpClient) {}
public login(user: User): any {
return this.http.post(host+'/login', user, {observe: 'response', headers: 'autorization'})
.pipe(
map(res => { return res})
)
}
}
我是我的 component.ts(angular):
login(){
this.authService.login(new User({
user_name: this.user_name,
email: this.email
})
).pipe(first())
.subscribe(
((data: HttpResponse<any>) => {
console.log("response :");
console.log(data);
console.log("response.headers: ");
console.log(data.headers);
console.log("response.headers.get('authorization'): ");
console.log(data.headers.get('authorization'));
})
)
console.logs:
这里是responseHeader(网络表)中的授权:
拜托,如果你能帮我解决这个问题,我会给你一个大大的虚拟拥抱(隔离)
【问题讨论】:
-
您能否通过在控制台中展开
HttpHeaders来显示所有值?另外,显示您如何在后端设置变量
标签: angular http-headers httpclient angular-httpclient angular-http