如何将Angular.js配置为用户默认主机?

时间:2014-05-26 11:19:34

标签: angularjs angularjs-http

例如,我有这个电话:

$http({method: 'GET', url: '/someUrl'}).
success(function(data, status, headers, config) {
  // this callback will be called asynchronously
  // when the response is available
}).
error(function(data, status, headers, config) {
  // called asynchronously if an error occurs
  // or server returns response with an error status.
});

我需要它来请求http://my-api-url.com/someUrl,但我不想在任何地方输入它,因为它将来会改变。

如何全局配置?

2 个答案:

答案 0 :(得分:3)

使用常量:

var myApp = angular.module('myApp',[]);

myApp.constant('myUrls', {
    someUrl: 'http://my-api-url.com/someUrl,',
});

mayApp.directive('myDirective', ['myUrls', function (myUrls) {
    return {
        ....
        // use myUrls.someUrl
        ....
    };
}]);

AngularJS Module

答案 1 :(得分:0)

我认为你不能,这会削弱对其他网址的任何其他调用,所以你可以做的是在指向你想要的主机的服务中设置一个主机变量,然后在每个调用中设置你的url为。 / p>

$http.get(service.host+'/somePath'}).
success(function(data, status, headers, config) {

}).
error(function(data, status, headers, config) {

});