0

我正在尝试使用angularJS连接我编写的API,目前API的根路由显示API的信息:

{
    "Company": "Test Company",
    "Version": "0.1"
}

使用 jquery$.ajax()访问数据时,我得到了预期的 json。但是,当我在 angularJS 中使用 $http.get() 时,控制台中返回的错误是:

OPTIONS http://testapi.dev/ 401 (Unauthorized) angular.min.js:100
OPTIONS http://testapi.dev/ Invalid HTTP status code 401 angular.min.js:100
XMLHttpRequest cannot load http://testapi.dev/. Invalid HTTP status code 401 

这是我尝试提取所述数据的索引控制器的代码:

var index = angular.module('index', ['$strap.directives']);

index.factory('infoFactory', function ($http) {

    var info_url = 'http://testapi.dev/';
    var login_url = info_url + 'login';

    var info = {};

    return {
        info: info,

        getInfo: function () {
            return $http.get(info_url);
        }
    };
});

index.controller('indexCtrl', function indexCtrl ($scope, infoFactory) {

    infoFactory.getInfo().success(function (data) {
        if (data.Success) {
            $scope.info = data.Data;
            infoFactory.info = data.Data;
        } else {
            alert(data.Message);
        }
    });     
});
4

1 回答 1

0

试试这个改变

   getInfo: function ($http) {
        return $http.get(info_url);
    }

将 $http 注入您的 getInfo 函数

于 2013-10-15T11:53:39.623 回答