0

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

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

url 是相对于当前位置设置的,我想保持这种方式。我遇到的问题是 domain/app/folder/view 和 domain/app/folder/view/ 都是有效的位置,当 / 出现在最后时,我需要在我的 url 中返回另一个级别。我目前能够通过以下更改来处理这个问题

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

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

4

1 回答 1

1

即使URL在 JavaScript 文件中,也可以使用Url.Action. 我强烈建议您使用它

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

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

actionUrl在外部文件中使用。

于 2013-11-01T17:41:26.253 回答