Angular 角度-HTTP Post->;未识别响应
我想在Angular中进行一个REST调用,它应该返回一个JWT(这是假的)作为响应。至少应该输出控制台日志,最多应该填写“localStorage”。调用实际上已发送,REST接口将应答。这是Wireshark的日志。只有“console.log(“XXXXXXXX”);”被写入控制台。为什么不写日志 解决方案: 我传递了一个错误的JSON对象Angular 角度-HTTP Post->;未识别响应,angular,Angular,我想在Angular中进行一个REST调用,它应该返回一个JWT(这是假的)作为响应。至少应该输出控制台日志,最多应该填写“localStorage”。调用实际上已发送,REST接口将应答。这是Wireshark的日志。只有“console.log(“XXXXXXXX”);”被写入控制台。为什么不写日志 解决方案: 我传递了一个错误的JSON对象 {"id" : "user.id", "username" : "user.us
{"id" : "user.id", "username" : "user.username", "firstName" : "user.firstName", "lastName" : "user.lastName", "token" : "fake-jwt-token" }
事先失败:
角度:
login(用户名:string,密码:string){console.log(“XXXXXXXX”);
返回this.http.post(`http://localhost/api/v1/users/authenticate`,“{username=\”“+username+“\”,password=\”“+password+“\”}”)//返回此.http.post(`${config.apirl}/users/authenticate`,{username,password})
.pipe(映射(用户=>{console.log(用户));
//如果响应中有jwt令牌,则登录成功
if(user&&user.token){
console.log(“true:)”;
//将用户详细信息和jwt令牌存储在本地存储中,以便在页面刷新之间保持用户登录
localStorage.setItem('currentUser',JSON.stringify(user));
this.currentUserSubject.next(用户);
}否则{
console.log(“false:(”)
}
返回用户;
}));
}
Wireshark:
POST/api/v1/users/authenticate HTTP/1.1
主机:本地主机
连接:保持活力
内容长度:44
接受:application/json、text/plain、*/*
用户代理:Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/83.0.4103.116 Safari/537.36
内容类型:文本/纯文本
Sec获取站点:同一站点
秒取数模式:cors
Sec Fetch Dest:空
推荐人:http://localhost:4200/login
接受编码:gzip,deflate,br
接受语言:德德,德;q=0.9,在美国;q=0.8,en;q=0.7
{username=“user1”,password=“secretpassword”}HTTP/1.1 200 OK
日期:2020年6月26日星期五11:29:20 GMT
服务器:Apache/2.4.41(Win64)OpenSSL/1.1.1c PHP/7.4.2
X-Powered-By:PHP/7.4.2
访问控制允许方法:POST
访问控制最大年龄:3600
访问控制允许标头:内容类型、访问控制允许标头、授权、X请求的权限
内容长度:124
保持活动状态:超时=5,最大=100
连接:保持活力
内容类型:application/json;字符集=UTF-8
{id:“user.id”,username:“user.username”,firstName:“user.firstName”,lastName:“user.lastName”,token:“伪jwt token”}
是否使用subscribe方法调用登录?e、 g.login().subscribe()?登录的post api缺少端口(4200):
返回此.http.post(
http://localhost:4200/api/v1/users/authenticate,{用户名:用户名,密码:密码})