使用存储在.JSON上的URL生成$ http请求

时间:2016-04-18 11:35:49

标签: angularjs http

我的代码上有一些$ http请求,如:

$http.get('http://test/api/ams/v1_0/courses')

我希望将URL http://test/api/ams/v1_0/courses放在.JSON上,以便存储大量的URL,所以如果我需要更改一个,我只需要转到JSON配置文件,任何人都知道如何我这样做?

2 个答案:

答案 0 :(得分:0)

如果您使用的是browserify之类的东西,可以在js文件中执行类似的操作。

var config = require('./configs/config');

你的json文件看起来像这样;

var config = {
    url : 'http://example.com'
};

module.exports = config;

其中config是.json文件,不需要扩展名。然后,您可以使用通常的对象表示法来访问它,例如config.url;

So $http(config.url + '/courses')...

然后您可以存储类似

的内容

OR

使用Angular常量值,在您的情况下可能会更好。

angular.module('App')
    .constant('API_ENDPOINT', {
        url: 'https://api.example.com'
    });

并使用API​​_ENDPOINT.url +'课程'在$ http中,只需记住在所需的依赖项/包含声明中包含API_ENDPOINT。

您还可以将API_ENDPOINT转换为更完整的对象,并将其命名为CONFIG并在其中设置多个值。

您是否使用常量或json是您的选择,但我倾向于自己使用常量。

请按照惯例命名所有大写字母中的常量值,但无论如何都可以。

答案 1 :(得分:0)

控制器中的类似内容 -

self.getData = $http.get('path').then(function success(a, b) {
    self.data = a;
}, function error(a, b) {
    self.data = false;
});