2017-05-11 3 views
0

Meine contact enthält ein Objekt.Ich möchte an die http.post -Methode senden. Unten ist mein Code, wo sollte ich contact Objekt als Parameter setzen.Bitte geben Sie Links auch im Zusammenhang mit http.post API wenn überhaupt. Code:Wie sende ich ein Objekt an die http.post Anfrage?

createContacts(contact) { 
    console.log('the contact inside subscribe function',contact); 
    let headers = new Headers(); 
    headers.append('Content-Type', 'application/json'); 
    this.http.post('http://localhost:8080/contacts',{headers : headers}).subscribe(res => { 
     console.log('inside postmehtod of sub.function', res.json());//only objects 

    }); 

    } 

package.json

{ 
    "name": "contactlist", 
    "version": "0.1.0", 
    "description": "A sample Node.js app using Express 4", 
    "engines": { 
    "node": "5.9.1" 
    }, 
    "main": "server.js", 
    "scripts": { 
    "start": "node server.js" 
    }, 
    "devDependencies": { 
    "mongoose": "^4.6.2", 
    "body-parser": "^1.15.2", 
    "cors": "^2.8.0", 
    "del": "2.2.0", 
    "express": "^4.14.0", 
    "http": "0.0.0", 
    "method-override": "^2.3.6", 
    "morgan": "^1.7.0", 
    "superlogin": "^0.6.1" 
    } 
} 

Antwort

2

Link to http post api wie gewünscht

Typoskript Post API: post(url: string, body: any, options?: RequestOptionsArgs) : Observable<Response>

Beispiel:

createContacts(contact) { 
    let headers = new Headers(); 
    headers.append('Content-Type', 'application/json'); 
    this.http.post('http://localhost:8080/contacts', contact, {headers : headers}) 
     .subscribe(res => { 
     console.log('inside postmehtod of sub.function', res.json());//only objects 
     }) 
    } 
+0

Ich habe das gewünschte Ergebnis bekommen. Können Sie mir erklären, warum das nicht funktioniert? 'this.http.post ('http: // localhost: 8080/Kontakte', JSON.stringify (Kontakt), ...)' Hier habe ich 'json.stringify' hinzugefügt, warum der Code nicht funktioniert diese Linie? – Aditya

+0

Können Sie beschreiben, * wie * der Code nicht funktioniert? Es sollte funktionieren. Ich kann das nicht reproduzieren, obwohl ich nicht ionisch verwende. Unabhängig davon, ob ich bodyParser hier im Backend und/oder JSON.stringify am Frontend verwende, bekomme ich immer die gleichen Daten von der post-Methode auf meinem node.js Backend – Tom

+0

Seltsam. Welches Backend verwenden Sie? Welche eckige Version verwendest du? Bitte machen Sie eine 'git Klon https://github.com/jsdevtom/so_example.git && npm i && npm run debug', dann öffnen Sie den Chrome-Link in der Konsole, der etwa wie folgt aussehen sollte: chrome-devtools: // devtools/gebündelt/inspector.html? experiments = true & v8only = true & ws = 127.0.0.1: 9229/9b6c1f94-ddab-45f2-a551-0d9ee78c0f98' – Tom

Verwandte Themen