我有以下代码,首先我获得用户的评分,然后我想使用OrderService从order
方法获取OrderService.getOrder
的数据,然后将评级和顺序传递给OrderService.ratingHero
方法但它给出的错误为500
当我调试代码时,还有一件事
console.log("rating"+ $scope.hero.rating);
在OrderService.getOrder
之前运行。任何人都可以告诉我原因吗?
RatingHeroCtrl.js
'use strict';
angular.module('Orders').controller('RatingHeroCtrl',['$scope','$state', '$ionicModal', 'MessageService', 'SettingService', 'OrderService','UserService',
function($scope, $state, $ionicModal, MessageService, SettingService,OrderService,UserService) {
$scope.heroName = "Danish";
(function initialize(){
$scope.hero = {};
$scope.rider = {
ratingsObject : {
iconOn: 'ion-ios-star', //Optional
iconOff: 'ion-ios-star-outline', //Optional
iconOnColor: 'rgb(200, 200, 100)', //Optional
iconOffColor: 'rgb(200, 100, 100)', //Optional
rating: 0, //Optional
minRating: 0, //Optional
// readOnly: ratingReadOnly, //Optional
callback: function(rating, index) { //Mandatory
$scope.ratingsCallback(rating,index);
}
}
}
})()
$scope.ratingsCallback = function(rating, index) {
$scope.hero.rating = rating;
OrderService.getOrder($state.params.orderId,
function(response) {
$scope.hero.order = response;
console.log("order"+$scope.hero.order);
},
function(error){
console.log("error");
}
)
console.log("rating"+ $scope.hero.rating);
console.log("order2"+$scope.hero.order);
// console.log("user"+$scope.hero.rater);
OrderService.ratingHero($scope.hero).then(function(response){
console.log(success);
}, function(error){
console.log(error);
})
};
}]);
OrderService.js
angular.module('Orders')
.service('OrderService', ['$http', '$state', '$resource', '$q', 'SettingService', '$localStorage', "MessageService",
function($http, $state, $resource, $q, SettingService, $localStorage, MessageService) {
var orderResource = $resource(SettingService.baseUrl + "api/orders/:id", {id:'@id'}, {'query':{method:'GET', isArray:false}, 'update':{method:'PATCH'}});
var service = {
ratingHero : function(hero){
return $http({
method: "POST",
url: SettingService.baseUrl + "api/heroRatings",
data: hero
});
},
getOrder : function(OrderId, successCallback, failureCallback){
orderResource.query({id:OrderId}, successCallback, failureCallback);
}
}
return service;
}]);