0
ReactJSクライアントからExpressサーバーにデータを投稿していますが、req.bodyのデータにアクセスできないようです....私はJSONオブジェクトを送信し、このよう:ExpressJs | req.bodyは空ではありませんが、データにアクセスできない
var url = 'http://localhost:8000/scrape/';
const {main} = getState()
const info = { name : main.title, items : main.list}
var options = {
url: url,
method: 'POST',
body : JSON.stringify(info),
json: true,
headers : {
'Content-Type': 'application/x-www-form-urlencoded'
}
};
Request(options, (error, response, data) => {
// !error ? dispatch(setSearchResults(JSON.parse(data))) : dispatch(setError(error));
});
と私はExpressで(req.bodyを)にconsole.logとき、私はこれを受け取る:
私が使用して私のエクスプレスで{ '{"name":"test","items":': { '{"url":"test","code":"ING"},{"url":"test","code":"KIN"},{"url":"test","code":"GAO"}': '' } }
bodyParser
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
私はJSON.stringify(req.body)とJSON.parse(req.body)を使ってみましたが、どちらも成功していませんでした。
は、なぜあなたはアプリケーション/ X-WWW-'と'のContent-type'がを作るのですかform-urlencoded' POST本体はJSONですか? – shaochuancs
ええ、コードを見ると、req.bodyはExpressでemtyのままになります。 –
コードの 'Request'モジュールとは何ですか?また、ブラウザのHTTPネットワークを確認してください。DevTool - 'Content-Type'が' application/json'のときにJSON本体がクライアントから送られますか? – shaochuancs