2016-04-25 17 views
0

簡易検索では解決できません。誰かがそれをもっと明確にすることができたら?Express.js POST empty req.body

クライアントでは、オブジェクトをxhr.send(obj)にアタッチしようとしました。同じしばらくその結果、FORMDATAオブジェクトに追加しようとしている瞬間に ... クライアントコード:

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

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

app.use(express.static('public')) 

app.get('/', function(req, res) { 
    res.sendFile(path.resolve("/public/index.html")) 
}) 

app.post('/api/test', (req, res) => { 
    console.log(req.body) 
    res.end() 
}) 
var xhr = new XMLHttpRequest()  
xhr.open("post", "/api/test", true) 

var formData = new FormData() 
formData.append("hi", "hello") 

xhr.send(formData) 

xhr.onreadystatechange = function() { 
    if (this.readyState != 4) 
    return 
    if (this.status != 200) return console.error(this.status + this.statusText) 
    else console.log(this.responseText) 
} 

とバックエンドの

は私がreq.bodyこの方法を取得しようとしています

私は空のオブジェクトだけを印刷するたびに、その理由を見ないでください。私はフロントエンドがオブジェクトを送信するいくつかの時間をチックしました。

ありがとうございました。

答えて

1

あなたは、追加しようとすることができます。この急行(ボディパーサー)と同様に

//Send the proper header information along with the request 
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 

を、それが入ってくるデータを解析する必要が理解しています。

+0

とてもシンプル=))ありがとうございます。私は1時間のように周りに遊んでいた)) – Lazyexpert

+0

問題なし:)あなたは大歓迎です – jaumard

関連する問題