javascript - 使用express和body-parser在服务器端解析AngularJS http.post数据

标签 javascript json angularjs express body-parser

我最近刚刚开始学习 MEAN 堆栈,所以如果这看起来是一个非常愚蠢的问题,请原谅我。我的问题如下:

在客户端(controller.js)我有,

  $http({
  method  : 'POST',
  url     : '/root',
    // set the headers so angular passing info as form data (not request payload)
  headers : { 'Content-Type': 'application/x-www-form-urlencoded' },
  data    :  {
              type:'root',
              username:$scope.rEmail,
              password:$scope.rPassword
            }

 })

在服务器端我有,

app.post('/root', function(req, res) {

  console.log(req.body);

  console.log(req.body.username);
});

我的控制台日志显示:

17 Nov 21:39:04 - [nodemon] starting `node server/server.js`
{ '{"type":"root","username":"testUserName","password":"testPassword"}': '' }
undefined

我想象 req.body.username 给我 testUserName 但我没有定义。我得到的 JSON 格式有点奇怪。谁能帮我解决这个问题吗?我做了一些阅读并尝试使用 body-parser 并浏览了 Angular js $http.post 文档,但没有找到任何可以帮助我的内容。

我想问题出在:

 { '{"type":"root","username":"testUserName","password":"testPassword"}': '' }

但我似乎无法弄清楚如何在我的 Angular Controller 中传递来自 $http.post 的数据,以便我只能以标识符:值格式获取请求。

最佳答案

没关系,我已经明白了。看来我需要从编码中休息一下。

headers : { 'Content-Type': 'application/x-www-form-urlencoded' }

headers : { 'Content-Type': 'application/json' } 

解决了问题。

关于javascript - 使用express和body-parser在服务器端解析AngularJS http.post数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33770964/

相关文章:

javascript - 显示比容器宽的文本,滚动时出现问题

javascript - 未捕获的语法错误 : Unexpected identifier (alert connected)

javascript - 将socket.io封装在一个类中

javascript - 复杂的 JSON 和教程

javascript - Angular Directive(指令)中的按钮不执行 ng-click 功能

javascript - 如何从普通数组创建多维数组

java - 从 android 连接到 MySQL 数据库。没有迹象表明它正在工作/不工作......?

java - jackson 与 JSON : receiving "null" object

javascript - 如何在angular js中使用if语句条件

ruby-on-rails - Rails + Angular + sqlite3部署