2016-01-14 6 views
-1

Я пытаюсь опубликовать некоторые данные о фильме, а при использовании $ http.post он показывает, что новая запись вставлена, но при перечислении фильмов она показывает только идентификаторы, а не другие поля.

Вот мой app.js,

myApp.controller("addMovieCtrl",function($scope,$http,$window,$mdToast,$mdDialog){ 
 
\t \t $scope.submitForm = function(){ 
 
\t \t $scope.movies = []; 
 
     $scope.movies.push({ 
 
\t \t \t title \t \t : $scope.mtitle, 
 
\t \t \t director \t : $scope.mdirector, 
 
\t \t \t genre \t \t : $scope.mgenre, 
 
\t \t \t releaseYear \t : $scope.myear, 
 
\t \t }); 
 
     $http({ 
 
      method : 'POST', 
 
      url  : 'http://movieapp-sitepointdemos.rhcloud.com/api/movies/', 
 
      data : $scope.movies, //forms user object 
 
      headers : {'Content-Type': 'application/x-www-form-urlencoded'} 
 
     }) 
 
      .success(function(data) { 
 
       \t $mdToast.show(
 
     \t \t \t $mdToast.simple() 
 
     \t \t \t .textContent(data.message) 
 
     \t \t \t .position($scope.getToastPosition()) 
 
     \t \t \t .hideDelay(2000) 
 
    \t \t \t);    
 
      }).error(function(err){ 
 
      \t \t $mdToast.show(
 
     \t \t \t $mdToast.simple() 
 
     \t \t \t .textContent(err) 
 
     \t \t \t .position($scope.getToastPosition()) 
 
     \t \t \t .hideDelay(2000) 
 
    \t \t \t); 
 
      }); 
 
\t \t $scope.mtitle = ''; //clear the input after adding 
 
\t \t $scope.mdirector = ''; 
 
\t \t $scope.mgenre = ''; 
 
\t \t $scope.myear = ''; 
 
\t }; 
 
    });

и это моя страница мнения,

<body ng-controller="addMovieCtrl" ng-app="myApp">  
 
    <div> 
 
    <div class="edit_data"> 
 
     <form class="form-register" name="register" ng-submit="submitForm()" novalidate> 
 
       <div class="input-field col s6"> 
 
       <input id="first-name" type="text" class="validate" ng-model="mtitle" required> 
 
       <label for="first-name">Movie Title</label> 
 
      </div> 
 
      <div class="input-field col s6"> 
 
       <input id="last-name" type="text" class="validate" ng-model="mdirector" required> 
 
       <label for="last-name">Director</label> 
 
      </div> 
 
      <div class="input-field col s6">    
 
       <input id="last-name" type="text" class="validate" ng-model="mgenre" required> 
 
       <label for="last-name">Genre</label> 
 
      </div> 
 
      <div class="input-field col s6">    
 
       <input id="last-name" type="number" class="validate" ng-model="myear" required> 
 
       <label for="last-name">Release Year</label> 
 
      </div> 
 
      <!-- <div class="input-field col s6"> 
 
      <md-datepicker ng-model="mdate" md-placeholder="Enter date"></md-datepicker> 
 
       </div> --> 
 
       <br /> 
 
       <div class="spacer text-center"> 
 
       <button ng-disabled="form-register.$invalid" class="btn waves-effect waves-light"> 
 
       <i class="material-icons left">done</i> Done 
 
       </button> 
 
       <button type="button" class="waves-effect waves-light btn"> 
 
       <i class="material-icons left">clear</i>Cancel 
 
       </button> 
 
       </div> 
 
      </form> 
 
     </div> 
 
     <br/> 
 
    </div>
Вот рабочая скрипку - jsfiddle.net/5zzpL8om

В то время как я пытаюсь с остальным клиентом, это происходит.

+0

вы использовали пост форму почтальон? –

+0

где код списка, в котором вы перечисляете фильмы – gaurav5430

+0

, просто проверьте этот URL-адрес - http://movieapp-sitepointdemos.rhcloud.com/api/movies/. – krishnakumar

ответ

1

Я считаю, что вы не хотели отправлять массив обратно на сервер, вместо этого вы хотели отправить только текущие данные.

Я попробовал это, и это работает:

var dataObj = { 
      title  : $scope.mtitle, 
      director : $scope.mdirector, 
      genre  : $scope.mgenre, 
      releaseYear : $scope.myear, 
     }; 

     $http({ 
      method : 'POST', 
      url  : 'http://movieapp-sitepointdemos.rhcloud.com/api/movies/', 
      data : dataObj, //forms user object 
      //headers : {'Content-Type': 'application/x-www-form-urlencoded'} 
     }) 

здесь обновленное скрипку: http://jsfiddle.net/5zzpL8om/4/

я также проверил результаты на: http://movieapp-sitepointdemos.rhcloud.com/api/movies/

+0

благодарю вас за работу. – krishnakumar

Смежные вопросы