帐户/位置

Account for / in location

本文关键字:位置 帐户      更新时间:2023-09-26

在我的MVC 4应用程序的.js文件中,我正在使用ajax调用控制器中的函数。

$.ajax({
            type: "POST",
            url: "./serverFunction",
            data: JSON.stringify({ item: dataItem }),
            dataType: "html",
            contentType: "application/json; charset=utf-8"
        });

网址是相对于当前位置设置的,我想保持这种状态。我遇到的问题是域/应用程序/文件夹/视图和域/应用程序/文件夹/视图/都是有效位置,当/出现在末尾时,我需要在我的 url 中返回另一个级别。我目前能够通过以下更改来处理此问题

 url: document.URL.substring(document.URL.length - 1, document.URL.length) == "/" ? "../serverFunction" : "./serverFunction"

但我想知道是否有更优雅的解决方案?

即使URL在 JavaScript 文件中,也有使用 Url.Action 的解决方法。我强烈建议你使用它

在视图中声明一个 JavaScript 变量。在脚本部分中作为

<script type="text/javascript">
    var actionUrl = '<%=Url.Action("actionname","controller")%>';
</script>

并在外部文件中使用actionUrl