返回已创建记录的ID

时间:2016-01-08 15:45:43

标签: angularjs

我有一个创建电影的功能

createMovie.create({
  release_date:   releaseNL.release_date,
  imdb_rating:    $scope.movieImdbRating.imdbRating,
  title:          $scope.movieListID.original_title,
  image:          $scope.movieListID.poster_path,
  movie_id:       $scope.movieListID.id,
  backdrop:       $scope.movieListID.backdrop_path
}).

这会调用createMovie服务

app.factory('createMovie', ['$http', function($http){
  return{
    create: function(movie){
      return $http.post('/movies.json', movie);
    }
  };
}]);

是否可以返回此创建记录的ID?

1 个答案:

答案 0 :(得分:0)

恕我直言,正确的流程应该是

  1. 将数据发布到后端以保存
  2. 后端验证并保存

    2a上。成功保存

    1. 使用已保存的元素JSON
    2. 返回200
    3. 处理成功
    4. 2B。保存失败

      1. 返回错误400
      2. 处理错误
      createMovie.then(successCallback, errorCallback)
      
      function successCallback (response) {
        $scope.movies.push(response.data) //example - add saved movie to list of movies
      }
      
      function errorCallback (response) {
        alert(response.data.errorMessage)
        //something went terribly wrong, let the user know
      }
      

      这样,当您返回http错误代码时,您不必处理成功调用中的错误。

        

      请注意,此示例中的response包含响应标头以及服务器返回的实际响应response.data