Node.JSを持つAngular、backendサーバを持つWebアプリケーションがあります。私が持っている問題は、Html上のボタンを押すことです。これは、ng-clickリコールをコントローラ内の関数に呼び出すと、コントローラはAngularサービス内の関数を呼び出します。最後にAngularサービスは$ http.putをNode.JSサーバーに使用します。私が直面している問題は、パラメータ "myData"がNode.JS Serverに渡すことができないことです。 Node.JSからのエラーメッセージ:TypeError:未定義の 'source'プロパティを読み取ることができません。 私のコードは以下の通りです。Angularサービスにパラメータを渡すことができません、Node.JSバックエンドサーバ
HTML:
<button class="btn btn-default btn-lg col-sm-2 col-sm-offset-2" ng-class="videoVGA" ng-click="myFunction('ABC')" >ABC</button>
コントローラー:
$scope.myFunction = function (data){
switch(data){
case "ABC":
var myData = new Object();
myData.source = data;
controlProvider.serviceFunction(myData);
break;
サービス:
(function(){
function controlProvider($http) {
this.serviceFunction = function(myData){
$http.put("http://localhost:8080/v/switch", myData);
}
}
controlApp.service('controlProvider', controlProvider);
})();
のNode.js:
app.put("/v/switch",function(req,res){
console.log("Printing" + " " + req.body.source);
if(req.body.source === "ABC"){
//Do something
}
});
ありがとう、私はノードにボディパーサを含めるのを忘れていました。 –