req.body在帖子上空了我的所有項目都突然發生了這種情況。每當我使用express和body-parser在nodejs中發表帖子時req.body都是一個空對象。var express = require('express')var bodyParser = require('body-parser')var app = express()// parse application/x-www-form-urlencodedapp.use(bodyParser.urlencoded())// parse application/jsonapp.use(bodyParser.json())app.listen(2000);app.post("/", function (req, res) {
console.log(req.body) // populated!
res.send(200, req.body);});通過ajax和postman它總是空的。但是通過卷曲$ curl -H "Content-Type: application/json" -d '{"username":"xyz","password":"xyz"}' http://localhost:2000/它按預期工作。我嘗試手動設置Content-type : application/json前者,但我總是得到400 bad request這讓我發瘋了。我認為這是在身體解析器中更新的東西,但我降級了,但沒有幫助。任何幫助表示感謝,謝謝。
3 回答

波斯汪
TA貢獻1811條經驗 獲得超4個贊
使用Postman,要使用原始JSON數據有效負載測試HTTP post操作,請選擇該raw
選項并設置以下標頭參數:
Content-Type: application/json
另外,請務必用雙引號將JSON有效內容中用作鍵/值的任何字符串包裝起來。
該body-parser
包將解析多行原始JSON有效負載。
{ "foo": "bar"}
使用Postman v0.8.4.13擴展(body-parser
v1.12.2和express
v4.12.3)在Chrome v37和v41中進行了測試,其設置如下:
var express = require('express');var app = express();var bodyParser = require('body-parser');// configure the app to use bodyParser()app.use(bodyParser.urlencoded({ extended: true}));app.use(bodyParser.json());// ... Your routes and methods here

慕運維8079593
TA貢獻1876條經驗 獲得超5個贊
我犯了一個非常愚蠢的錯誤,忘了name
在我的html文件中定義輸入的屬性。
而不是
<input type="password" class="form-control" id="password">
我有這個。
<input type="password" class="form-control" id="password" name="password">
現在request.body
填充如下:{ password: 'hhiiii' }
- 3 回答
- 0 關注
- 799 瀏覽
添加回答
舉報
0/150
提交
取消