簡體   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