I'm using angular 4 http post method calling ASP.NET web API with Authorization header. When calling the web api using postman its works fine, but using angular 4 its not working I'm trying the following methods but not anyone works.
import { URLSearchParams, Http, Headers, Response, RequestOptions, RequestOptionsArgs, RequestMethod} from "@angular/http"
>
1-
let headers = new Headers();
let authToken = accessToken;
headers.append('Authorization', `Bearer ${authToken}`);
let options = new RequestOptions();
options.headers = headers;
this.http
.post(url, "", options)
.subscribe(data => {
console.log(data);
}, error => {
alert("error");
});
Or using this
2-
let authToken = accessToken;
let headers = new Headers({ 'Authorization': `Bearer ${authToken}` });
let options = new RequestOptions({ headers: headers });
this.http
.post(url, "", options)
.subscribe(data => {
console.log(data);
}, error => {
alert("error");
});
And This way
3-
let authToken = accessToken;
let headers = new Headers({ 'Authorization': `Bearer ${authToken}` });
this.http
.post(url, "", { headers: headers})
.subscribe(data => {
console.log(data);
}, error => {
alert("error");
});
405 (Method Not Allowed) XMLHttpRequest cannot load http://localhost/domain/api/Account/check. Response for preflight has invalid HTTP status code 405
Argument of type '{ headers: Headers; }' is not assignable to parameter of type 'RequestOptionsArgs'. Types of property 'headers' are incompatible. Type 'Headers' is not assignable