2016-07-29 12 views
0

Ich versuche "uid" posten, aber Server zeigt "undefiniert", ich weiß nicht, warum dies geschieht !! Auch wenn ich Header richtig gesetzt habe, funktioniert es immer noch nicht, bitte hilf mir.Angular 2 TS - Auf POST undefined immer auf dem Server

Hier ist der Code der Anwendung:

HTML

<form (ngSubmit)="onSubmit()"> 
    User Id: <input type="text" name="uid" [(ngModel)] = 'uid'> <br> 
    <input type="submit" value="Submit"> 
</form> 

onSubmit Funktion

onSubmit(value) { 
    var headers = new Headers(); 
    var data = { uid: this.uid }; 
    headers.append('Content-Type', 'application/json'); 
    this.http.post('http://192.168.50.193:1000/process_post', JSON.stringify(data), {headers: headers}) 
     .subscribe((data)=> 
      console.log("POST::: "+data); 
    ); 
} 

server.js (express) post-Methode hier:

app.post('process_post', urlencodedParser, function (req, res) { 
 
    response = { 
 
     first_name:req.body.uid 
 
    }; 
 
    console.log(req.body.uid); 
 
    res.end(JSON.stringify(response)); 
 
})

Nach Senden Sie auf Eingabeaufforderung Ich 'undefined' bekommen, warum?

+0

Ist 'this.uid' undefiniert im' onSubmit() 'Methode? Kannst du versuchen, die Anfrage mit ['Postman'' zu replizieren (https://www.getpostman.com/) - kommst du auch' undefiniert'? – rinukkusu

+0

könnten Sie versuchen, 'console.log (this.uid)' in 'onSubmit' Methode –

+0

Ja, Im bekomme richtigen Wert mit ** 'this.uid' ** on ** onSubmit() ** Methode. – Shree

Antwort

0

Versuchen map Methode:

onSubmit(value) { 
    var headers = new Headers(); 
    var data = { uid: this.uid }; 
    headers.append('Content-Type', 'application/json'); 
    this.http.post('http://192.168.50.193:1000/process_post', JSON.stringify(data), {headers: headers}) 
     .map(data => data.json()) 
     .subscribe((data)=> 
      console.log("POST::: "+data); 
    ); 
} 
+0

danke, aber Konsole zeigt immer noch leeres Objekt. – Shree

Verwandte Themen