[英]POST Request fail with Node.js and Express.js
來自C的新Web開發人員來了,一切都有些新:)
我正在通過一些Express學習進行學習,並且堅持讓POST請求生效。 我在Chrome上使用Advanced Rest Client發送POST請求並遇到錯誤,沒有錯誤號,只是一個簡單的“計算機說不”。
我的app.js:
var express = require('express')
, http = require('http');
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.use(express.urlencoded());
app.use(express.json());
});
app.get("/", function(req, res) {
res.send("Hello, Express!");
});
app.get("/hi", function(req, res) {
var message = "Hello :-)";
res.send(message);
});
app.get("/users/:userId", function(req, res) {
res.send("<h1>Hello user #" + req.params.userId);
});
app.post("/users", function(req, res) {
res.send("Creating a new user with name " + req.body.username);
});
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
所有其他路由均有效,只是POST失敗。
編輯:另外,我在發布時使用text / html作為內容類型。
我已經重新啟動服務器,確保已保存文件,重新啟動了系統等。我猜測問題是正文解析失敗。 任何幫助都會很棒,歡呼。
express.json()
不會解析text/html
,因此您的路由處理程序中沒有req.body
,並且req.body.username
行將引發錯誤。
我已經重新啟動服務器,確保已保存文件,重新啟動了系統等。我猜測問題是正文解析失敗。
不要猜 調試和讀取日志( app.use(express.logger('dev'))
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.