2017-10-10 3 views
0

angulaire 4.4.4
Ceci est mon élément appangulaire 4 HttpClient Impossible envoyé des données POST avec

constructor(
    private http: HttpClient, 
) 

this.http.post('/api.php', {name, age}).subscribe(data => { 
    console.log(data); 
}); 

api.php -> exit(json_encode($_POST));

Ne recevoir aucune donnée dans _POST

$ retour [] ;

(let xmlRequest = new XMLHttpRequest(); .... fonctionne très bien)

je tente mis en-tête

let headers = new HttpHeaders().set('Content-Type', 'application/json; charset=UTF-8'); 

ne fonctionne pas

Désolé pour cette question, mais j'ai passé 1 jour et ne pourrait toujours pas Solution.

ps. le client et le serveur ont la même origine.

+0

S'il vous plaît poster votre méthode PHP –

+0

sortie (json_encode ($ _ POST)) –

+0

Je veux dire , votre signature, votre méthode complètement –

Répondre

0

J'ai trouvé la solution à ce sujet.

En PHP, $_POST accepte uniquement les données de formulaire.

avec tête de requête 'Content-Type: application/JSON' vous pouvez recevoir avec file_get_contents('php://input');

Alors

$_POST = json_decode(file_get_contents('php://input')); 
1

s'il vous plaît essayer je l'espère vous aidera

import { Injectable } from '@angular/core'; 
import { Observable } from 'rxjs'; 
import 'rxjs/add/operator/map'; 
import { HttpClient } from '@angular/common/http'; 


@Injectable() 
export class LandingService { 

    private apiUrl = 'http://localhost:5000/'; 

    list:any; 
    headers : any; 
    constructor(private _http: HttpClient){ 
     this.headers = new Headers(); 
     this.headers.append('Content-Type', 'application/json'); 
    } 
    getsearchResponse(searchText){ 
      this.list ={"sentences":searchText} 
      return this._http.post(this.apiUrl+'searchBotsNew',this.list,this.headers) 
      .map(res =>res.json()) 
      .do(data => console.log(JSON.stringify(data))); 

     } 



} 
+0

merci. Mais je veux essayer nouveau HttpClient –

+0

avez-vous importer HttpClientModule dans le fichier app.module.ts? –

+0

oui je l'ai fait. l'envoi de requset mais le serveur ne recive pas les données –