2016-08-01 97 views
1

我是一个有点问题的初学者。我似乎无法将我的表单中的文本传递到随后使用body-parser获得的req.body中。关于这个问题有很多问题,但迄今为止似乎没有任何帮助。请指导我正确的方向。 MODS请不要锁定。我已经搜索并可以找到合适的答案。谢谢。使用Angularjs输入表单数据,Expressjs,

快递:

app.use(bodyParser.urlencoded({'extended' : 'true'})); 

app.use(bodyParser.json()); 

app.use(bodyParser.json({type: 'application/vnd.api+json'})); 
app.use(methodOverride()); 




app.post('/', function(req, res){ 
     console.log(req.body.text); 
     res.redirect('https://google.com'); 
     res.end(); 

角:

angular.module('application', []) 

.controller('mainController', function($scope, $http) { 

    $scope.formData = {}; 

    $scope.submitForm = function() { 
    $http.post('/', $scope.formData) 
      .success(function(data) { 
       console.log(data); 
      }); 
    }; 
} 

HTML:

<form method="post" action="/"> 
       <div class="form-group"> 


        <input type="text" class="form-control input-lg text-center" placeholder="email" ng-model="formData.text"> 
       </div> 


       <button type="submit" class="btn btn-primary btn-lg" ng-submit="submitForm()">Add</button> 
      </form> 
+0

有你截获'post'电话?它看起来像没有实际的网址 – AranS

+0

请解释。我不知道我需要一个。我以为一个“/”会做 – Stephen

+0

我现在已经改变了网址,并得到一个404不能POST /错误 – Stephen

回答

0

你显然不发送对象text到你的服务器,你发送一个formData对象包含一个text属性。

你可以试试:

console.log(req.body.formData.text); 

然后,如果你想找回里面的角的一些数据,你将数据发送回:

app.post('/', function(req, res){ 
    console.log(req.body.formData.text); 
    res.send("blablabla"); 

res.json({response: 'response'}); 
+0

这不起作用,但它可能会有所帮助。当我登录(req.body.formData.text)时,我得到一个500服务器typeerror。 “TypeError:无法读取C:\ Users \ Stephen \ Dropbox \ apps \ serverv1 \ server.js中未定义的 的属性'文本':27:34 – Stephen