2017-02-20 7 views
1

私はRest APIエンジンに投稿していたコンポーネントがあります。保存は、私はエラーはエラーメッセージを表示されている場合、私は未定義の参照コンソールログにOKの場合

(function(angular) { 
    'use strict'; 
    angular.module('ComponentRelease', ['ServiceRelease']) 
     .component('createRelease', { 
      templateUrl: 'components/release/createRelease.html', 
      controller: CreateRelease, 
      controllerAs: 'clCtrl', 
     }) 

    function CreateRelease($http, getReleaseManagers, insertRelease) { 
     var ctrl = this; 

     this.$onInit = function() { 
      getReleaseManagers.promise($http).then(function(response) { 
       ctrl.managers = response.data.releasemanager; 
      }); 

      //the save button 
      ctrl.save = function() { 
       var release = { "rName": ctrl.r_name, "releaseDate": ctrl.r_date, "releaseSharepoint": ctrl.r_sharepoint, "gManager": ctrl.gname, "pManager": ctrl.pname }; 

       $http.post('http://localhost:8080/post', release).then(function(response) { 
        console.log("Save in database"); 
       }, function(e) { 
        console.log(e); 

       }); 
      }; 
     }; 
    }; 
})(window.angular); 

: コンポーネントは次のようになります。たぶん私は正しいことを理解していないが、投稿が大丈夫ならば、データベースに保存というメッセージが表示されるはずです。 なぜこのような状況がわかりますか? 私はangularjs 1.6

があなたの角のポストでは、あなたの助けのために事前に オイゲン

+0

"成功" の場合は、サーバーのリターンは何を保存しますか? –

+0

それはサーバー側で問題でした。サーバーはレスポンスとして文字列を送信していましたが、jsonオブジェクトである必要があります。 – EugenC

答えて

0

をありがとう、あなたはまた、データが(アプリケーション/ JSON)を正しく入力し解析するために、サーバのコンフィギュレーションでヘッダーのcontent-typeを送信する必要があります使用しています。

(function(angular) { 
 
    'use strict'; 
 
    angular.module('ComponentRelease', ['ServiceRelease']) 
 
    .component('createRelease', { 
 
     templateUrl: 'components/release/createRelease.html', 
 
     controller: CreateRelease, 
 
     controllerAs: 'clCtrl', 
 
    }) 
 

 
    function CreateRelease($http, getReleaseManagers, insertRelease) { 
 
    var ctrl = this; 
 

 
    this.$onInit = function() { 
 
     getReleaseManagers.promise($http).then(function(response) { 
 
     ctrl.managers = response.data.releasemanager; 
 
     }); 
 

 
     //the save button 
 
     ctrl.save = function() { 
 
     var release = { 
 
      "rName": ctrl.r_name, 
 
      "releaseDate": ctrl.r_date, 
 
      "releaseSharepoint": ctrl.r_sharepoint, 
 
      "gManager": ctrl.gname, 
 
      "pManager": ctrl.pname 
 
     }; 
 

 
     var config = { 
 
      headers: { 
 
      'Content-Type': 'application/json' 
 
      } 
 
     } 
 

 
     $http.post('http://localhost:8080/post', release, config).then(function(response) { 
 
      console.log("Save in database"); 
 
     }, function(e) { 
 
      console.log(e); 
 

 
     }); 
 
     }; 
 
    }; 
 
    }; 
 
})(window.angular);