Я новичок в AngularJS, и у меня есть эта проблема. Я получил определенную услугу citiesService
метода addCity
:
.service('citiesService', ['$resource', function($resource){
this.addCity = function(city) {
var cityItem = $resource("server/?module=cities&action=add", {}, {save: {method: "POST", isArray:true}});
return cityItem.save({
city: city
});
};
}])
Он отлично работает, новый город был успешно добавлен в БД через PHP скрипт, но я не знаю, как вернуть ответ сервера. Сервер возвращения ответа, как:
$output = [];
$output[] = ["success" => "added to database"];
echo json_encode($output);
, а затем я получил этот контроллер:
.controller('citiesAddCtrl', function($scope, $modalInstance, citiesService) {
// save addCity form (modal)
$scope.saveForm = function() {
if($scope.city.name) {
$scope.a = citiesService.addCity($scope.city);
}
}
})
, но я действительно не знаю, как отобразить ответ сервера в формате JSON. Когда я пытаюсь что-то вроде console.log($scope.a)
, он показан пустой массив, но как вы можете видеть, ответ сервера в меню правой отладки:
Можете ли вы помочь мне решить эту проблему, пожалуйста? Я прочитал несколько тем Stackoverflow и пробовал некоторые изменения, которые описаны здесь, но для меня ничего не работает.
'Ошибка. CitiesService.addCity (...), то это не function' ... много людей в Stackowerflow описано подобное решение, но это не работает для меня – pes502
Не могли бы вы попробовать «citiesService.addCity ($ scope.city). $ Prom.then [...]»? – schneck
да, теперь я играю с ним, и, похоже, он работает, как мне нужно! Большое спасибо! – pes502