2014-05-20 52 views
0

類似的問題是HERE但沒有解決方案。我能夠在本地主機上運行我的項目,但一旦部署,加載元數據失敗。縱觀鉻開發工具,請求被髮送到http://www.domain.org/breeze/metadata而不是http://www.domain.org/projectname/breeze/metadata。在我的本地主機上,元數據加載爲http://localhost:xxxx/breeze/Metadata。我的實體經理被宣佈爲new breeze.EntityManager('breeze')。如果我將實體管理器更改爲new breeze.EntityManager('projectname/breeze')所有工作正常,但它在我的本地主機上不起作用。我該如何聲明實體管理器,以便該路徑與項目相關,並在我的本地主機上運行,​​並在部署時運行?微風實體經理相對路徑

回答

0

您似乎可以認爲數據服務器和Web服務器共享相同的來源。因此,您可以構建原點(無論是)從瀏覽器的window.location對象(角注入$location):

var origin = location.protocol+'//'+location.host+'/'; // 'ex: http://www.foo.com:3000/' 
var projectName = location.hostname === 'localhost' ? '' : 'projectName/'; 
var serviceName = origin + projectName + 'breeze'. 
var manager = new breeze.EntityManager(serviceName); 

或者,您可以委派任務到Web服務器,可以構建服務名稱和普拉克它在網頁中作爲一個JavaScript變量,在客戶端配置期間提取。

我敢肯定,如果你需要做出其他假設,你可以從這裏拿走它。