Angular 7中的HTTP帖子返回无效响应

时间:2019-02-27 13:51:29

标签: http angular7

我正在使用http post作为我的一个有角度的应用程序进行登录。我已经用postman中的参数检查了URL,这给了我输出。但是当我尝试在应用程序中使用相同的URL时,我得到了错误始终无效登录。 我想知道我传递参数的方式是否正确?

const formData =  `username=${username}&password=${password}`;
const options = { headers: new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' }) };
return this.http.post<any>(`${this.baseUrl}?action=login&`, formData, options)
        .pipe(map(response => {
            console.log('user is', response);
            if (response && response.session && response.session.id) {
                localStorage.setItem('currentUser', JSON.stringify(response));
                this.currentUserSubject.next(response);
            }

            return response;
        }));

我遇到的错误是

user is {error: "Incorrect Login."}

1 个答案:

答案 0 :(得分:1)

您可以尝试这样,而不是formData

const data = new HttpParams()
    .set('username', username)
    .set('password', password);

return this.http.post<any>(`${this.baseUrl}?action=login&`, data)
        .pipe(map(response => {
            if (response.status === 'success') {
                localStorage.setItem('currentUser', JSON.stringify(response));
                this.currentUserSubject.next(response);
            }

            return response;
        }));