无法使用带有 AngularJs POST 请求的 expressJs 访问 POST 参数
Can't access to POST parameters using expressJs with AngularJs POST Request
当我使用 angular 执行 post 请求时,我无法访问我的 post 参数,这是我的 angular 代码:
var request = $http({
method: 'POST',
url: '/api/login',
data: {
login: 'alex',
password: 'test'
}
})
.success(function (res, status, headers) {
if (res.token != 'undefined'){
user.token = res.token;
user.login = credentials.login;
user.userid = res.userid;
user.islogged = true;
$cookieStore.put("user", user);
}
}).error(function(data, status, headers, config) {
console.log(data);
});
这是我的路由器文件中的后端代码:
/************ API ******************/
app.post('/api/login', user.login);
这是我的用户控制器的代码
exports.login = function(req, res) {
console.log(req);
var user = {
login: req.query.login,
password: sha1(req.query.password)
};
...
}
我在 req.query 对象中没有任何内容,否则如果我使用 Advanced REST Client 插件请求 chrome 一切正常。
注意:我正在使用 body-parser 模块来读取我的请求的参数。
这是 github 存储库:https://github.com/alex3165/numeractive/tree/dev/node
确保启用 json 解析器
var bodyParser = require("body-parser");
app.use(bodyParser.json());
注意:您必须安装 body-parser 包,只需打开您的终端(windows 中的命令提示符),将您的目录更改为项目的根目录并键入以下内容
$ npm install body-parser --save
当我使用 angular 执行 post 请求时,我无法访问我的 post 参数,这是我的 angular 代码:
var request = $http({
method: 'POST',
url: '/api/login',
data: {
login: 'alex',
password: 'test'
}
})
.success(function (res, status, headers) {
if (res.token != 'undefined'){
user.token = res.token;
user.login = credentials.login;
user.userid = res.userid;
user.islogged = true;
$cookieStore.put("user", user);
}
}).error(function(data, status, headers, config) {
console.log(data);
});
这是我的路由器文件中的后端代码:
/************ API ******************/
app.post('/api/login', user.login);
这是我的用户控制器的代码
exports.login = function(req, res) {
console.log(req);
var user = {
login: req.query.login,
password: sha1(req.query.password)
};
...
}
我在 req.query 对象中没有任何内容,否则如果我使用 Advanced REST Client 插件请求 chrome 一切正常。
注意:我正在使用 body-parser 模块来读取我的请求的参数。
这是 github 存储库:https://github.com/alex3165/numeractive/tree/dev/node
确保启用 json 解析器
var bodyParser = require("body-parser");
app.use(bodyParser.json());
注意:您必须安装 body-parser 包,只需打开您的终端(windows 中的命令提示符),将您的目录更改为项目的根目录并键入以下内容
$ npm install body-parser --save