Мне нужно передать значение из поля ввода в представлении с помощью службы. Служба должна позвонить мне WebAPI2
, а затем в качестве ответа получит действительный JSON
.AngularJS: API вызова службы и возврат JSON
Однако, я либо получаю объект обещания, который я не могу решить (даже с «.then()
»), или если я использую фабрику, он не будет компилироваться, поскольку он не реализует метод $get
.
JSON
Объект, который я возвращаю, также действителен.
Вид:
<div class="input" ng-controller="InputController as ctrl">
<input ng-model="inputdata" /> {{inputdata}}
<button ng-click="ctrl.gibDaten(inputdata)">Senden</button>
{{cooledaten}}
</div>
Контроллер:
module GoogleMapsApp {
myApp.myAppModule.controller("InputController",
["$scope", "mapsServiceCustom",
function ($scope, mapsServiceCustom) {
$scope.lEingabedaten = $scope.inputdata;
this.gibDaten = function() {
$scope.cooledaten = mapsServiceCustom.gibDaten().then();
console.log($scope.cooledaten);
}
}]);
}
Услуги:
module GoogleMapsApp {
myApp.myAppModule.service("mapsServiceCustom",
["$http",
function ($http) {
this.gibDaten = function (lEingabe) {
console.log(lEingabe);
console.log($http.get("api/getDistanceData/" + lEingabe + "/Cologne")
.then(function(data) {
return data;
Контроллер:})); return $ http.get ("api/getDistanceData /" + lEingabe + "/ Cologne") .then (функция (данные) { данные возврата; }); // возвращаем $ http.get ("api/getDistanceData /" + lEingabedaten1 + "/ Cologne); } } ]);
}
консоли журнала:
Object { $$state: Object }maps.serviceCustom.js:14:17
Object { $$state: Object }InputController.js:8:17
Если я проверяю $$ состояние: Object содержит точно нужные данные.
Использование фабрики приводит меня к следующей ошибке:
https://docs.angularjs.org/error/$injector/undef?p0=mapsServiceCustom
Так что я делаю неправильно? Как я буду реализовывать свои намерения?