2017-02-20 11 views
1

Ich habe eine Komponente, die ich verwendet, um die Rest API Engine zu posten. Die Komponente wie folgt aussieht:

(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); 

Wenn das Speichern ist ok in dem Konsolenprotokoll I undefined sehen, ob ich Fehler habe, ist die Fehlermeldung zeigt. Vielleicht habe ich nicht richtig verstanden, aber wenn der Post in Ordnung ist, sollte ich die Nachricht in der Datenbank speichern sehen. Bitte können Sie mir helfen zu verstehen, warum diese Situation? ich verwende angularjs 1.6

Danke im Voraus für Ihre Hilfe, Eugen

+0

was sparen wird der Server Rückkehr bei "erfolgreich"? –

+0

war es ein Problem auf der Serverseite. Der Server schickte eine Zeichenfolge als Antwort, aber es sollte ein JSON-Objekt sein. – EugenC

Antwort

0

In Ihrem Winkel Post, sollten Sie auch richtig Daten-Header Content-Type in der Konfiguration für Server senden zu analysieren (application/json) Typ .

(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);