2017-03-19 18 views
-1

angularJSからnodeJSアプリケーションにデータをPOSTしようとしていますが、ボディ要求は常に空です。angularJSノードにデータを投稿する

角(V1.6.3)

vm.submitForm = function() { 
    vm.formData = {name: 'test'} 
    var data = $httpParamSerializer(vm.formData); 
     var config = { 
      headers : { 
       'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;' 
      } 
     } 

     $http.post('/submit', data, config) 
     .then(
      function(response) { 
       console.log(response); 
      }, 
      function(response) { 
       console.log(response); 
      } 
     ); 

    } 

ノードapp.js

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

ノードroute.js

router.post('/submit', function (req, res, next) { 
    res.send(req.body); 
}) 

私はいくつかの研究を行なったし、私が必要とするすべての

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

ですが、それでも私のために働いていないように見えます。ありがとうございました!

+0

いただきましたエラーを取得していますか? –

+0

は一切ありません。 req.body is {} – handsome

+0

devコンソールのネットワークタブでリクエストを見てください。 –

答えて

0

あなたの角度のコードでこれを試すことができます:あなたは

vm.submitForm = function() { var data = { "key1" : "value" }; $http.post('/submit', data) .then( function(response) { console.log(response); } ); }

+0

オブジェクト{data:Object、status:200、config:Object、statusText: "OK"}のようにする必要があります。 nodejsは空のボディで応答します。ありがとうございます – handsome

+0

私は、サーバー側にいくつかの問題があると思います。この[リンク](https://scotch.io/tutorials/setting-up-a-mean-stack-single-page-application)を一度参照してください。 –

関連する問題