0

angularJS を使用して、作成した API に接続しようとしています。現在、API のルート ルートには API の情報が表示されます。

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

jquerys$.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 に答える