簡體   English   中英

Angular 2 http post + Nodejs表達

[英]Angular 2 http post + Nodejs express

我無法在服務器上獲得post params。 我將Angular 2 app中的post請求發送到Nodejs express服務器。 這是我在Angular 2中的代碼:

import { Injectable } from 'angular2/core';                                                                                                    
import { Http } from 'angular2/http';

@Injectable()
export class QueryService {
  static get parameters() {                                                                                                                    
    return [[Http]]                                                                                                            
  }                                                                                                                                            
  constructor(http) {                                                                                                            
    this.http = http;                                                                                                                          
  }
  postApi() {
    var headers = new Headers();
    headers.append('Content-Type', 'application/json');

    return this.http.post('http://localhost:3001/post_test', JSON.stringify({"id": 1, "name": "2"}), { headers: headers }).toPromise();
  }                                                                                                                                            
}

在瀏覽器中,我看到post params被發送,例如在chrome部分“Request Playload”中包含我的帖子數據。 在這里我的服務器:

app.js:

var bodyParser = require('body-parser');
app.use(bodyParser.json());                                                                                                                
app.use(bodyParser.urlencoded({extended: true}));                                                                                          

路線/ index.js:

exports.post_test = function(req, res) {
    console.log('post_test ', req.body);
}

輸出是“post_test {}”

我無法理解,問題出在哪里。 因為我的服務器工作正常,當我使用Angular 1 $ http服務進行帖子查詢時。 請幫我!

您忘記導入Headers類:

import { Injectable } from 'angular2/core';                                                                                                    
import { Http, Headers } from 'angular2/http'; // <----

在這種情況下,標題不會隨您的請求一起發送,但不會顯示錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM