2017-04-01 26 views
1

我有有發送和訴訟POST請求

var express = require('express'); 
var app = express(); 

app.post('/savearticles', function (req, res) { 
    res.send(req.body); 
}); 

,而不是更困難的JavaScript代碼

var xmlHTTP = new XMLHttpRequest(); 
    xmlHTTP.onreadystatechange = function() { 
     if (this.readyState === 4 && this.status === 200) { 
      alert(xmlHTTP.responseText); 
     } 
    } 
    xmlHTTP.open('POST', '/savearticles', true); 
    xmlHTTP.setRequestHeader('Content-Type', 'application/json'); 
    xmlHTTP.send('postparameter'); 

它返回undefined(通過返回檢查(typeof運算資源非常簡單的node.js服務器.body))。我究竟做錯了什麼?

+0

你可以註銷req以及typeof req嗎? – tocoolforscool

+1

@tocoolforscool,reres請求https://pastebin.com/8wknLipk typeof req是對象 – Roman

+0

@tocoolforscool,我把*警告*內*如果*和它的作品,它只是空的。 – Roman

回答

0

您錯過了body-parser中間件。安裝它,你的代碼應該可以正常工作。

const express = require('express') 
const bodyParser = require('body-parser') 
const app = express() 

app.use(bodyParser.urlencoded({ extended: true })) 
app.use(bodyParser.json()) 

app.post('/savearticles', (req, res) => { 
    res.send(req.body) 
}) 
+0

除了這個答案,它仍然不想接收* string *參數,但接受* JSON.stringify(myObject)*作爲參數,只是* myObject * aswell。 – Roman