Я определил 1 сервис, чтобы получить категорию и контроллер для вызова службы.Не удалось позвонить из контроллера angularJS
var req = {
method: 'POST',
url: 'http://localhost/cgi-bin/superCategory.pl',
headers: { 'Content-Type': undefined },
data: { action: 'GET' }
};
sampleApp.factory('SuperCategoryService', ['$http', function ($http){
return {
GetSuperCategories: function() {
return $http(req)
.then(
function(response)
{
if (typeof response.data === 'object')
{
alert ('right');
//return response.data;
}
else
{
alert ('wrong');
// invalid response
//return $q.reject(response.data);
}
},
function(response) {
alert ('again worng');
// something went wrong
//return $q.reject(response.data);
});
}
};
}]);
sampleApp.controller('SuperCategoryController', ['$scope', 'SuperCategoryService', function ($scope, SuperCategoryService){
$scope.SuperCategories = function() {
SuperCategoryService.GetSuperCategories()
.then(function(d) {
alert (d);
if (d != undefined) {
alert ('in');
// Your data should be loaded here
console.log(d.data);
alert (d);
$scope.SuperCategories = d.data;
}
else
{
alert ('Here');
}
})
.error(function(data, status) {
// Errors here
});
}
}]);
Даже если я звоню в диспетчер, но не нахожусь в обслуживании. (Даже ошибка)
В чем проблема? Любая помощь будет высоко оценена.
Вы звоните SuperCategories() из шаблона ?? Вы пытались открыть DevTools, чтобы узнать, есть ли какая-либо ошибка в вашей консоли? – alphamikevictor
вы должны ввести фабрику в функцию контроллера ($ scope, SuperCategoryService) {} ', а затем в контроллере использовать ее как' SuperCategoryService.GetSuperCategories() ' – maurycy
Вы назначили функцию для вызова вашей службы в' $ scope.SuperCategories' переменная. ОК. Вы тогда вызываете его где угодно? Прямо сейчас, нигде в вашем коде, который вы опубликовали, вы вызываете эту функцию. –