Angularjs从http url中的服务数据中筛选错误

Angularjs filter error from services data in the http url

本文关键字:数据 筛选 错误 服务 http url Angularjs      更新时间:2023-09-26

我有一个django方法,它调用服务如下。以下是控制器中的方法:

  $scope.showDegrees = function(degree){
            debugger
            $scope.DegreeCategory = degree.DegreeCategory;
            $scope.filterSub = degree.DegreeCategoryID;
            DegreesService.getDegrees(function(filterSub, data){
            $scope.degrees  = data;
            console.log(data);
      });
            $scope.display.academicdegrees = true;
          };

在我的服务中,我对我的工厂定义如下:

.factory('DegreesService',function($http) {
        return {
            getDegrees: function(degreecategoryid, callback) {
                //$http.get('/api/academicprogram/?format=json').success(callback);
                $http.get('/api/academicprogramlist2/'+degreecategoryid+'/').success(callback);
            }
        };
    })

当我在chrome中运行它时,url传递错误。它给了我以下错误:

GET http://127.0.0.1:8000/api/academicprogramlist2/function%20(filterSub,%20data)%7B%20%20%20%20$scope.degrees%20%20=%20data;console.log(data);%20%20%7D/ 404 (NOT FOUND) 

我哪里错了?

您应该这样调用DegreesService.getDegrees()

DegreesService.getDegrees(degree.DegreeCategoryID, function(response){...})

BTW,$http.get()返回一个承诺如果您有承诺,请不要使用回调!