我想將所有的javascript ajax調用整合到Javascript顯示模塊中。 然而,有1和名爲ROOTPATH全局JavaScript財產被硬編碼到瀏覽網頁使用的頁內廣告腳本標籤:Javascript RootPath屬性@ Url.Content(「〜/」)在JavaScript中顯示模塊
var RootPath = '@Url.Content("~/")';
在一個單獨的.js文件中,我創建調用從我的服務器端獲取JSON。
var dataService = function() {
var url = RootPath + "API/GetData",
getData = function() {
return $.getJSON(url);
};
return {
getData: getData
};
}();
問題是Javascript對象內部的這個全局RootPath是未定義的。我怎樣才能在我的對象內獲得這個全局屬性?
我通常把網址放在窗體的隱藏字段中,並從javascript中拖出隱藏的字段 –
您可以確認在定義「RootPath」變量的onpage腳本之後是否包含單獨的js? – Ankit
如果你真的想使用這個「全局」RootPath變量,你可以做的一件事是這個,window.rootPath ='@ Url.Content(「〜/」)'; (這應該是在佈局頁面或在你知道它首先運行的地方比JavaScript文件),然後在你的JavaScript文件只是做,window.rootPath – hjgraca