【发布时间】:2014-03-08 11:24:09
【问题描述】:
这里有新的网络开发者,来自 C 语言,一切都有些新意 :)
我正在学习一些快速学习,并坚持让 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 作为内容类型。
我已经重新启动服务器,确保文件已保存,重新启动系统等。我猜问题是正文解析失败。任何帮助都会很棒,干杯。
【问题讨论】:
-
您在服务器上或作为响应收到的错误究竟是什么?
-
就是这样,它没有给出错误,只是说它无法发送请求。我切换了客户端,它现在可以工作了。
-
“说它无法发送请求”是一个错误,但我从来没有遇到过 HTTP 错误显示为“计算机说不”。所以请添加你得到的实际错误。这可能需要进入开发人员工具,选择网络选项卡并向我们显示哪个网络请求失败。如果您无法获得可以粘贴的可理解文本表示,可以将屏幕截图附加到您的问题中。