這是我試圖從包含淘汰賽相關功能的.js文件中打網址:如何從JavaScript MVC應用程序內解決相對路徑
self.followAction = $ .resolvePath(「/人/ Follow uid =「+ data.UserId); 這裏人們是控制器和Follow是行動方法,在按鈕點擊,我想發送userId,所以我寫了這個。
從JavaScript內解決相對路徑,我寫了這個功能
// Fix for resolving relative paths from within js scripts
$.resolvePath = function(url)
{
var path = '@Request.ApplicationPath';
if (path != '/') return path + url;
return url;
};
但是,在按一下按鈕,我收到此錯誤:HTTP錯誤404.0 - 找不到 它正試圖在網址爲:
localhost:44305/People/@Request.ApplicationPath/People/Follow?uid=8
我已經知道,剃鬚刀代碼沒有在js文件中解釋。 所以,我已經把這個函數的局部視圖中:
$.resolvePath = function(url)
{
var path = '@Request.ApplicationPath';
if (path != '/') return path + url;
return url;
};
我已經打過電話本直接在佈局頭的部分是這樣的:
<head>
<script src="~/Scripts/jquery-1.8.2.min.js" type="text/javascript"></script>
@{ Html.RenderPartial("VirtualPathFix"); }
</head>
但隨後的錯誤開始顯示:
$.resolveurl: function is not defined
如果我把這個函數直接放在腳本文件夾中的people.js文件中,那麼沒有錯誤,但隨後按下按鈕單擊,通過URL傳遞的http 404錯誤是:
localhost:44305/People/@Request.ApplicationPath/People/Follow?uid=8
誰能幫助我out.feeling失去
我曾嘗試使用window.baseUrl在頭視圖頁面上的建議由達林:
<script type="text/javascript">
window.baseUrl = '@Url.Content("~/")';
</script>
但我people.js文件無法取得此屬性,因此錯誤是:
Uncaught TypeError: window.baseUrl is not a function on line18 in people.js file. Can anyone tell me what are other things to try.
你把它放在DOM''ready'中嗎? –
沒有,我想如果我在.js文件把代碼,然後剃刀將不能識別這個功能不知道往哪裏放碼現在frustated @ParthTrivedi – duke