gpt4 book ai didi

jquery - 部署为虚拟目录时,MVC 站点外部脚本不起作用

转载 作者:行者123 更新时间:2023-12-01 04:19:54 25 4
gpt4 key购买 nike

我有一个 MVC 应用程序。这是基本设置,我对 About.cshtml 进行了以下更改:

@{
ViewBag.Title = "About Us";
}
<script src=@Url.Content("~/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);

});

});

家庭 Controller 中调用的方法是:

public int GetResult()
{
return 3;
}

因此,这是一个基本设置,用户单击有关调用 GetResult 方法的信息,然后会弹出一个包含 3 的警报。

所以我在 IIS 中将其设置为网站,它按预期工作。单击“关于”时,会弹出消息并显示网站地址为 http://localhost:xx/Home/About

然后我尝试将其设置为虚拟目录。

单击“关于”时,不会弹出任何消息。它所在的 URL 为:http://localhost:xx/Practise/Home/About 其中practice 是虚拟目录的名称。

为什么消息没有出现?

现在 url 包含虚拟目录名称,是否无法再找到该文件?

如果需要将其托管为虚拟目录,解决此问题的最佳方法是什么?

最佳答案

您不应该使用硬编码的网址。尝试一下

$(document).ready(function () {

$.post('@Url.Action("GetResult", "Home")', null, function (data) {

alert(data);

});

});

始终使用 Url 辅助函数来为您处理实际的物理名称

关于jquery - 部署为虚拟目录时,MVC 站点外部脚本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11639717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com