【发布时间】:2017-08-22 22:50:47
【问题描述】:
我正在尝试将一些 json 数据从 angularjs 发送到 express/nodejs
AngularJS 代码:
$http({
method: 'POST',
url: 'http://localhost:8000/api/auth',
data: {
name: user,
password: passwd
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
})
.success(function(data, status, headers, config) {
$scope.loginStatus = data;
})
.error(function(data, status, headers, config) {
$scope.lloginStatusogin = data;
});
ExpressJS 代码:
var express = require('express');
var app = express();
var config = require('./config'); // get our config file
var port = process.env.PORT || 8000; // used to create, sign, and verify tokens
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
var apiRoutes = express.Router();
apiRoutes.post('/auth', function(req, res) {
console.log(req.body)
});
app.use('/api', apiRoutes);
app.listen(port);
但是在快速记录req.body 时,我得到了这个对象
{ '{"name":"Nick","password":"password"}': '' },整个 json 对象被视为具有空值的属性,我不明白或看不出做错了什么。
【问题讨论】:
-
尝试将标题
'Content-Type': 'application/x-www-form-urlencoded'改为'Content-Type: application/json' -
Xsmael 有什么反馈或建议吗?
-
@Dario ir 没有提到它,但我也试过了,但没有用
-
@lin 对不起,我离线了...
-
没问题 m8 =)
标签: angularjs json node.js api express