【问题标题】:Angular - multiple $http "instances"Angular - 多个 $http “实例”
【发布时间】:2016-06-13 06:25:54
【问题描述】:

我想创建一些“存储库”,并为所有请求添加一个基本 url,但仅限于该存储库。

angular.module('user', [])
    .service('User', function ($http) {
        // SOMETHING LIKE THIS
        $http.setBaseUrl('/api/v1/users');

        this.index = function () {
            // CALL TO api/v1/users/

            return $http('/');
        }

});

我知道有 $httpProvider,我可以在那里添加拦截器,但它会添加到所有请求中,这不是我想要的。

我能做什么?

【问题讨论】:

  • 真的没有很好地解释你的问题
  • 建议阅读How to Ask
  • 我想做一些类似 $resource 的事情,你在一个实例上定义一个 baseUrl,并且来自该实例的所有请求都将定义 baseUrl,所以我不必将 baseUrl 添加到所有查询。

标签: angularjs xmlhttprequest angular-resource


【解决方案1】:

您可以创建一个包含您拥有的各种基本 URL 字符串的 constant.js 服务文件,并且当您需要进行 $http 调用时,调用该特定基本 URL。

类似...

$http.post(constants.usersURL + "/", data, function(res) {
    ... //returned val
});

constants.js 文件如下所示:

angular.module('yourApp')
  .factory('constants', function () {

    var shared = {
      baseURL: "/api/v1/",
      usersURL: "/api/v1/users"
    }

    return shared;

  });

【讨论】:

    猜你喜欢
    • 2017-05-02
    • 1970-01-01
    • 2018-11-21
    • 2023-03-25
    • 2020-10-23
    • 2023-01-22
    • 2014-04-27
    • 2016-03-07
    • 2021-09-03
    相关资源
    最近更新 更多