当我尝试在WAS环境中对httpservlet(java)发布帖子时,我很难弄清楚为什么我会在角度中获得null响应。
我想要做的是调用api登录。我想收到响应头,但我得到一个空响应,使得无法对响应做任何事情。
我尝试使用内容类型application / x-www-form-urlencoded; charset = UTF-8以及没有定义内容类型的查询参数将表单数据作为表单数据发送。
在这两种情况下我都可以登录并在浏览器中获得带有标题信息的200响应。
这是我的电话
return this.http.post(this.contextRoot.getHost() + 'osa-kantoor-ws/api/auth/login?' + param1 + "&" + param2,null, this.httpOptions).map((res : Response) => {
localStorage.setItem('currentUser', JSON.stringify(username));
return res;
});

我的标题信息现在是
httpOptions = {
headers: new HttpHeaders({'Content-Type' : 'application/json', 'Accept': 'application/text'}),
params: {}
};

设置了localstorage项,但响应信息为空。
这是我的订阅
login() {
this.loginService.login(this.loginForm.value.userName,this.loginForm.value.password)
.subscribe(
data => {
console.log(data);
this.router.navigate([this.returnUrl]);
},
error => {
console.log(error);
this.loginfail = true;
});
}

当我在我的回复标题上检查浏览器信息时,我得到以下信息
任何人都可以告诉我我失踪了吗?
下面是原始方法
login(username: string, password: string) {
let param1: string = encodeURIComponent('userName') + '=' + encodeURIComponent(username);
let param2: string = encodeURIComponent('password') + '=' + encodeURIComponent(password);
let formParams: string = param1 + '&' + param2;
return this.http.post(this.contextRoot.getHost() + 'osa-kantoor-ws/api/auth/login', formParams, this.httpOptions).map(response=> {
localStorage.setItem('currentUser', JSON.stringify(username));
console.log(response);
return response;
});
}