我正在尝试使用express + node.js发布帖子请求。我安装这些插件 的的package.json
{
"name": "expressjs",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.14.1",
"express": "^4.13.3",
"mongodb": "^2.0.47"
}
}
我发布了这样的帖子请求
var express = require('express');
var mongodb = require('mongodb');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.json()); // support json encoded bodies
app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies
var MongoClient = require('mongodb').MongoClient;
var db;
// Initialize connection once
MongoClient.connect("mongodb://localhost:27017/abc", function(err, database) {
if(err) throw err;
db = database;
// Start the application after the database connection is ready
app.listen(3000);
console.log("Listening on port 3000");
});
app.post('/api/users', function(req, res) {
console.log('---')
var user_id = req.body.id;
var token = req.body.token;
var geo = req.body.geo;
res.send(user_id + ' ' + token + ' ' + geo);
});
当我点击浏览器 http://localhost:3000/api/users 时,没有任何事情发生..
我也尝试使用chrome rest客户端发送帖子请求..我在屏幕截图中也喜欢这样。但是我没有收到任何控制台消息或来自服务器的响应,我做错了..
我只从控制台获取此消息 聆听端口3000
答案 0 :(得分:0)
第一张图片显示GET
请求,因为浏览器默认为GET
。由于您不允许GET
,因此您只是一般错误。
使用ReST客户端,您需要将标头设置为Content-Type: application/json
。这应该可行。