[英]Angular 2 HTTP Post on Web API 2 - Bad Request
I am trying to call web api authentication using angular 2 as below. 我正在尝试使用angular 2调用Web api身份验证,如下所示。 But I am getting error
但是我得到了错误
"Failed to load resource: the server responded with a status of 400 (Bad Request)" “无法加载资源:服务器响应状态为400(错误请求)”
The authentication service is running on local IIS server. 身份验证服务在本地IIS服务器上运行。
Anything missing here? 这里缺少什么吗?
import { Injectable } from '@angular/core';
import {Http, Response, RequestOptions, Request, RequestMethod, Headers, HttpModule} from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
@Injectable()
export class AuthService {
public token: string;
constructor(private http: Http) {
var currentUser = JSON.parse(localStorage.getItem('currentUser'));
this.token = currentUser && currentUser.token;
}
login(username, password): Observable<boolean> {
var authObj = {
username: username, Password: password, grant_type : 'password'
}
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.post('http://localhost/Authentication/oauth/Token', JSON.stringify({ username: username, Password: password, grant_type: 'password' }), options)
.map((response: Response) => {
let token = response.json() && response.json().token;
if (token) {
//set the token property
this.token = token;
//user username and jwt token in local storage to keep user loggen in between page refreshes
localStorage.setItem('currentUser', JSON.stringify({ username: username, token: token }));
//return true to indicate the successful login
return true;
} else {
//return false to indicate failed login
return false;
}
});
}
logout(): void {
this.token = null;
localStorage.removeItem('currentUser');
}
}
try with this - 试试这个-
let headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' }); let headers = new Headers({'Content-Type':'application / x-www-form-urlencoded'});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.