我有一個MVC應用程序。這是基本的設置,其中我做了以下更改About.cshtml:當部署爲虛擬目錄時,MVC站點extenal腳本不起作用
@{
ViewBag.Title = "About Us";
}
<script [email protected]("~/Scripts/test.js") type="text/javascript"></script>
<h2>About</h2>
<p>
Put content here.
</p>
所以我加入到外部腳本的引用。
腳本本身包含以下內容:
$(document).ready(function() {
$.post('/Home/GetResult', null, function (data) {
alert(data);
});
});
堪稱家居控制器的方法是:
public int GetResult()
{
return 3;
}
因此,它是在用戶點擊了有關調用getResult方法的基本設置被調用並彈出一個包含3的警報。
因此,我在IIS中將其設置爲一個網站,並按預期工作。當點擊About時,彈出消息並且網站 的地址爲http://localhost:xx/Home/About
然後我嘗試將它設置爲虛擬目錄。
當點擊關於沒有消息彈出。 它所在的URL是:http://localhost:xx/Practise/Home/About
其中practice是虛擬目錄的名稱。
那麼,爲什麼消息不會出現?
現在不能再找到該文件,現在url包含虛擬目錄名稱?
如果需要將其作爲虛擬目錄託管,那麼解決此問題的最佳方法是什麼?
檢查HTML源代碼以查看正在加載.js文件的位置,看看您是否可以在瀏覽器中打開它。嘗試更改其URL到/Practise/Scripts/test.js – Daveo 2012-07-24 21:45:35