Winkel-2 http-post-params und Körper

Ich versuche zu tun, ein api-Aufruf aus meinem Winkel-app. Was ich will zu tun ist, senden Sie eine post-Anfrage an die api mit Befehls-param. Ich habe eine Menge von server-side-Tests als auch durch die abgehende Anforderung, und das $_POST noch body Daten ist nie da. Ich bin mir daher ziemlich sicher, dass das problem liegt in diesem Stück code.

public post(cmd: string, data: object): Observable<any> {

    const params = new URLSearchParams();
    params.set('cmd', cmd);

    const options = new RequestOptions({
      headers: this.getAuthorizedHeaders(),
      responseType: ResponseContentType.Json,
      params: params,
      body: data,
      withCredentials: false
    });

    console.log('Options: ' + JSON.stringify(options));

    return this.http.post('http://t2w.dev/index.php', data, options)
      .map(this.handleData)
      .catch(this.handleError);
  }

Habe ich versucht viele verschiedene JSON-Strukturen als data aber das ist der Kern dessen, was ich versuche zu senden:

{
  "Username": "No thanks",
  "Password": "Donno"
}

this.handleData und this.handleError ist eine Methode, Daten und Fehler als Argumente und liefert genau das, was ich will.

Den api-setup ist alles loggen, was kommt durch $_POST die funktioniert auch Prima, wenn die ausgeführte Anforderung von irgendwo, aber mein Winkel-app. Was ich bisher getan habe:

  1. Vorbei raw Abfrage statt URLSearchParams.
  2. Übergeben der Anforderung ohne Körper.
  3. Übergeben alle Werte in RequestOptions.
  4. Params übergeben als string.
  5. Vorbei Körper, wie params.
  6. Weitergabe Körper als JSON.stringify({
    "Username": "Nein, danke",
    "Passwort": "Donno"
    }

Die Ausgabe in der Konsole von RequestOptions

Optionen: {"method":null,"headers":{"Content-Type":["application/json"],"Accept":["application/json"],"X-CLIENT-ID":["380954038"],"X-CLIENT-SECRET":["5BgqRO9BMZ4iocAXYjjnCjnO7fHGN59Wp8btrz5f"]},"body":"{}","url":null,"params":{"rawParams":"","queryEncoder":{},"paramsMap":{}},"withCredentials":false,"responseType":1}
VM8529:1 XHR geladen: BEITRAG "http://t2w.dev/index.php".

Jemand eine Ahnung, warum die Daten nie gesendet wird?

InformationsquelleAutor SlyOtis | 2017-06-15

Schreibe einen Kommentar