簡體   English   中英

POST請求因Node.js和Express.js失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM