I'm trying to DELETE some data from my Database I have this method:
public deleteMessage(id: string): void {
// Url = localhost/messages/id
let url = `${Config.baseUrl}/${Config.messages}/${id}`;
console.log("url", url);
this.dataService.deleteData(url).subscribe(
// success
data => {
console.log(data)
},
// error
error => {
console.log(error);
}
);
}
Which uses uses a dataService for the http delete:
public deleteData(url: string, headers?): Observable<any> {
return this.http.delete(url, headers)
.map(this.extractData)
.catch(this.handleError);
}
private extractData(res: any) {
let body = res.json();
return body || {};
}
private handleError(error: any) {
let errMsg = (error.message) ? error.message :
error.status ? `${error.status} - ${error.statusText}` : 'Server error';
return Observable.throw(errMsg);
}
But I always get: DELETE is not allowed by Access-Control-Allow-Methods in preflight response.