繁体   English   中英

动态域URL Rest工厂AngularJS

[英]Dynamic domain URL Rest factory AngularJS

我想通过服务器中的简单更改来更改动态REST URL(例如,如果是阶段或生产),但是URL不会更改:

我已经试过了:

.factory('Auth', ['$resource', 'Config', function($resource, Config) { 
    var URL = function(){
        var random = Math.floor((Math.random() * 100) + 1);
        window.localStorage.setItem("REST", "http://dynamic"+random+".com/");  
        return window.localStorage.getItem("REST");
    }
    return $resource(_url, {url:"url"}, {
        login: { method:'POST', url:  URL()},
    })
}])

和这个

   // Generate random URL in the controller
   .factory('Auth', ['$resource', 'Config', function($resource, Config) { 
        var URL = window.localStorage.getItem("REST");
        return $resource(_url, {url:"url"}, {
            login: { method:'POST', url:  URL},
        })
    }])

但是,当我更改url(我在本地存储中检查此url及其更改)时,除非重新加载页面,否则该域在任何地方都相同,在这种情况下有效。

谢谢

您可以执行以下操作:

添加2个新常量:

  .constant('HOST_CDN', {
    development: {
      api: 'http://YOUR_LOCAL_DOMAIN',
    },
    production: {
      api: 'http://YOUR_PRODUCTION_DOMAIN',
    }
  })
  .constant('ENV', 'development')

创建新服务:

var domain = null;

(function getDomains() {
  domain = HOST_CDN[ENV];

  if (!domain) {
    throw 'Could not get domains';
  }

  domain.api   = domain.api.concat('/')
                           .replace(/\/\/$/, '/');
})();

return {
  api   : domain.api
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM