1
我想知道什麼樣的內容類型請求req
支持app.post('/',function(req,res))
。我從HTML表單發送數據。它是否一定是JSON格式,還是可以直接從表單發送?expressJS的請求體的類型
我已經將json格式的數據從表單發送到服務器,但是當我訪問req.body.{name attribute of inout element}
時,它給出了未定義的錯誤無效屬性。
我想知道什麼樣的內容類型請求req
支持app.post('/',function(req,res))
。我從HTML表單發送數據。它是否一定是JSON格式,還是可以直接從表單發送?expressJS的請求體的類型
我已經將json格式的數據從表單發送到服務器,但是當我訪問req.body.{name attribute of inout element}
時,它給出了未定義的錯誤無效屬性。
Express支持這兩種格式。但是,它可以工作之前,你需要使用bodyParser
中間件,否則req.body
不會填充:
app.use(express.bodyParser());
這裏有一個最小的應用與接受張貼到它的形式和JSON數據:
var express = require('express');
var app = express();
app.use(express.bodyParser());
app.post('/submit', function(req, res) {
res.send('You submitted: ' + JSON.stringify(req.body));
});
app.listen(3012);
您需要確保該bodyParser
中間件加載之前你的路由,否則要求提供給您的路線不會被bodyParser
中間件第一和y進行處理我們的路由處理程序將無法使用req.body
。
我也添加了那段代碼,但它仍然不起作用 – 2013-03-12 17:41:39
我給我的答案添加了一個示例。 – robertklep 2013-03-12 18:17:01