在部署我的 MVC 项目时,我遇到了相对路径 wrt 服务器的问题。我将项目作为 IIS 中的应用程序托管。最后,我的应用程序的 url 看起来像http://localhost/portal/Account/Login
这里的“门户”是 IIS 中的应用程序名称。在 ASP.net 开发服务器中,一切正常。在部署它时需要相对于服务器的相对路径。因此,我的 jquery ajax 请求开始失败。为了解决这个问题,我将操作保留在隐藏字段中并从那里访问并用于 ajax 请求。以下是代码。
<input type="hidden" value="@Url.Action("GetNewOffersSearch", "Updates")" id="NewOffersSearchUrl" />
var NewoffersUrl = document.getElementById("NewOffersSearchUrl").value;
$.ajax({
type: 'GET',
url: NewoffersUrl ,
cache: false,
timeout: 10000,
contentType: "application/json; charset=utf-8",
success: function (_results) {
$("#updatesContent").html(_results);
},
error: function (_results) {
}
});
最初 NewoffersUrl 是"/Updates/GetNewOffersSearch"
并且它抛出了一个路径错误。但现在它"/portal/Updates/GetNewOffersSearch"
和它的工作正常
我只想知道我遵循的方法是否正确。有没有更好的解决这个问题的方法?