2013-10-15 208 views
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); 
     } 
    });  
}); 
+0

我覺得你的服務器應該實現CORS https://開頭下發展r.mozilla.org/en-US/docs/Server-Side_Access_Control看看腳本扔Chrome deleloper工具它可能是非常有用的:) – Whisher

回答

0

嘗試這種變化

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

進樣$ HTTP到您的getInfo功能

+0

這只是導致它引發錯誤'TypeError:無法調用方法'獲取'未定義的 – ThomasY

相關問題