在超音速控制器中使用 $http

using $http in supersonic controller

即将离开这个我不想做的框架,因为它看起来很棒,但在我的早期阶段面临一个又一个的头痛。

目前,我的问题是尝试从控制器进行 $http 调用。这是我当前的代码:

angular
  .module('login', [])
  .controller('LoginController', ['$scope', '$http', 'supersonic', function($scope, $http, supersonic) {
      // Controller functionality here
      $scope.login = function () {
          supersonic.logger.debug('before ajax');

          $http.post('http://server/api/user/login', {
              username: $('#username').val(),
              password: $('#password').val()
          }).error(function () {
              console.log('error');
              supersonic.logger.debug('Error');
          }).success(function () {
              console.log('success');
              supersonic.logger.debug('Success');
          });

          supersonic.logger.debug('after ajax');
      }
  }]);

我承认我是新手,但我已经阅读了大量文档并在互联网上搜索,尝试使用不同的方式注入 $http 等,但没有成功。此代码将导致错误,"unknown provider: supersonicProvider".

如果我从注射中排除超音速,则超音速参数未定义。

即使我排除超音速注入并注释掉 supersonic.logger 行,$http 行也会生成错误“$ is not defined”。

通过 USB 从 chrome 调试器中获取这些错误,如果这有任何区别的话。

感谢对此的任何帮助。

下面的代码似乎可以解决问题,让我可以访问控制器中的 $http 和 supersonic

angular
.module('login', ['supersonic'])
.controller('LoginController', function($scope, supersonic, $http) {
});