使用 express 在节点 js 显示 angularjs 发布的数据
Displaying the angularjs posted data at node js using express
在angular这边,我使用post方法传递了数据。
var data = {
'id': mydata.google_id,
'token': mydata.token,
'email': mydata.email,
'name': mydata.name
};
$http.post('http://localhost:3000/login1',data,config)
.success(function (data, status, headers, config) { ... })
.error(function (data, status, header, config) { ... });
在服务器端试图访问我使用 req.body.id
post 编辑的数据,但我无法
当我在控制台中显示 req.body
时,我得到了以下响应:
{ ' {"id" : "1234" , "email" : "xyz@gmail.com" , "name" : "xyz"}' : ' ' [_proto_] : { } }
帮我解决这个错误
正在使用哪个版本的 express?
尝试使用来解析请求正文
app.use(bodyParser());
查看您的控制台日志,对象 属性 名称似乎是字符串(请注意 属性 名称周围的双引号)。
你应该这样设置你的对象:
var data = {
id: mydata.google_id,
token: mydata.token,
email: mydata.email,
name: mydata.name
};
属性 名称在对象字面量初始化中未被引用(如果这不是您需要的 :-)。
看到这个link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer
希望对您有所帮助。
看起来您可能启用了 bodyParser
,但是您需要使用以下命令启用 bodyParser.json()
中间件:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var cors = require('cors');
app.use(cors());
// parse application/json
app.use(bodyParser.json());
app.post('/meow', function(req, res) {
console.dir(req.body);
res.send(req.body);
});
app.listen(8181);
这将允许您 POST 您已经如何,但是,使您能够直接访问 req.body
属性(相对于原始字符串主体)。最终,Anuglar 的 $http.post() 方法会在将您的 javascript data
对象发送到您的服务器之前将其转换为 JSON。
var data = {
id: mydata.google_id,
token: mydata.token,
email: mydata.email,
name: mydata.name
};
var config = {
headers: {}
};
$http.post('http://localhost:8181/meow', data, config);
在angular这边,我使用post方法传递了数据。
var data = {
'id': mydata.google_id,
'token': mydata.token,
'email': mydata.email,
'name': mydata.name
};
$http.post('http://localhost:3000/login1',data,config)
.success(function (data, status, headers, config) { ... })
.error(function (data, status, header, config) { ... });
在服务器端试图访问我使用 req.body.id
post 编辑的数据,但我无法
当我在控制台中显示 req.body
时,我得到了以下响应:
{ ' {"id" : "1234" , "email" : "xyz@gmail.com" , "name" : "xyz"}' : ' ' [_proto_] : { } }
帮我解决这个错误
正在使用哪个版本的 express? 尝试使用来解析请求正文
app.use(bodyParser());
查看您的控制台日志,对象 属性 名称似乎是字符串(请注意 属性 名称周围的双引号)。
你应该这样设置你的对象:
var data = {
id: mydata.google_id,
token: mydata.token,
email: mydata.email,
name: mydata.name
};
属性 名称在对象字面量初始化中未被引用(如果这不是您需要的 :-)。
看到这个link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer
希望对您有所帮助。
看起来您可能启用了 bodyParser
,但是您需要使用以下命令启用 bodyParser.json()
中间件:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var cors = require('cors');
app.use(cors());
// parse application/json
app.use(bodyParser.json());
app.post('/meow', function(req, res) {
console.dir(req.body);
res.send(req.body);
});
app.listen(8181);
这将允许您 POST 您已经如何,但是,使您能够直接访问 req.body
属性(相对于原始字符串主体)。最终,Anuglar 的 $http.post() 方法会在将您的 javascript data
对象发送到您的服务器之前将其转换为 JSON。
var data = {
id: mydata.google_id,
token: mydata.token,
email: mydata.email,
name: mydata.name
};
var config = {
headers: {}
};
$http.post('http://localhost:8181/meow', data, config);