2016-06-01 11 views
0

1.Ich kann keine ordnungsgemäße Anfrage mit useCredentials.Can jemand sagen mir, was ist los mit dem Code?Http Post, mit Anmeldeinformationen.Was mache ich falsch?

import { Injectable }  from '@angular/core'; 
import { Http, Response,Headers, RequestOptions } from '@angular/http'; 

import { Observable }  from 'rxjs/Observable'; 

@Injectable() 
export class StructureRequestService { 
result: Object; 
constructor (private http: Http) { 

2.use XHR-Objekt - ich denke, das Problem ist hier.

let _build = (<any> http)._backend._browserXHR.build; 
    (<any> http)._backend._browserXHR.build =() => { 
     let _xhr = _build(); 
     _xhr.withCredentials = true; 
     return _xhr; 
    }; 
} 
private myUrl = 'http://manny.herokuapp.com/audit/get/structure'; 

//create an http request 
sendRequest() { 
    let headers = new Headers({ 'Content-Type': 'application/json' }); 
    let options = new RequestOptions({ 
     headers: headers 
     // , withCredentials: true 
    }); 
    return this.http.post(this.myUrl,options) 
     .map((res: Response) => res.json()) 
     .subscribe(res => {this.result = res;}); 
} 
} 

Antwort

0

Sie fehlen den Post-Body-Parameter in Ihrer Post-Anfrage. Es muss

return this.http.post(this.myUrl, body, options) 

Körper

Trotz der Inhaltstyp eine Zeichenfolge sein wird als JSON angegeben, der Körper POST muss eigentlich ein String sein. Daher kodieren wir den JSON-Hero-Inhalt explizit, bevor wir ihn als Body-Argument übergeben.

ref: https://angular.io/docs/ts/latest/guide/server-communication.html

+0

oh. danke.Was wenn ich keinen Body Param habe um zu senden? Und wie wäre es mitCredentials: True Part? Ist es richtig gemacht? – Serhiy

+0

@Serhiy Überprüfen Sie diesen Beitrag zu diesem Thema http://StackOverflow.com/q/35007572/5706293 – echonax

+0

cool. Dein Ratschlag funktioniert. Ich habe den Körper einfach vermisst, ich habe das in Angular 1 benutzt. Ich habe diese Anfrage ohne Körper gesendet, einfach so. Und ich konnte nicht finden, was ein Problem ist. Sie haben mir sehr geholfen. Danke!!! – Serhiy