Ich kann nicht verstehen, warum ich http in Angular2 nicht verwenden kann.Angular2 Http PUT gibt falsche RequestMethod
Wenn ich http Post mache, ist es die richtige Anforderungsmethode geben:
aber wenn ich http setzen: es Optionen wie die Request-Methode geben:
Ich meinte, was zum Teufel ist das? Hier
ist die Methode, die ich für Post bin mit:
let headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' });
let options = new RequestOptions({ headers: headers });
var body = 'amount=' + 12;
this.http.post(this.host + '/orders', body, options)
.map(res => res.json())
.subscribe(data => {
resolve('success')
});
Hier ist die Methode, die ich für PUT bin mit.
let headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' });
let options = new RequestOptions({ headers: headers });
let body = 'amount=' + 12;
this.http.put(this.host + '/orders/1', body, options)
.map(res => res.json())
.subscribe(data => {
resolve('success')
})
Aber ich getestet in der Update-Methode mit Postman, es funktioniert gut, auch in meinem Server, express, ich habe all diese aktiviert: res.setHeader ('Access-Control-Allow-Origin', '*'); res.setHeader ('Access-Control-Allow-Methoden', 'GET, POST, OPTIONS, PUT, PATCH, DELETE'); res.setHeader ('Access-Control-Erlaube-Header', 'X-Requested-With, Inhaltstyp'); res.setHeader ('Zugriffskontrolle-Erlauben-Anmeldeinformationen', wahr); – Vicheanak
Ja, aber mit Postman sind Sie in einem Chrome-Plugin, so dass Sie weniger Einschränkungen haben können. Das ist großartig für die CORS-Header auf der Serverseite. Aber es ist nicht genug in Bezug auf CORS Preflight-Anfragen. Sie sollten das 'cors'-Modul in Ihrer Express-Anwendung verwenden: https://github.com/expressjs/cors#enabling-cors-pre-flight (global oder pro Anfrage). –