javascript - 从 JavaScript 引用 Controller 操作

标签 javascript ajax asp.net-mvc jquery

我有返回 JSON 数据的 ASP.NET MVC 操作。我的客户端使用 jQuery 的 ajax 函数来检索此数据并将其显示在屏幕上。我在我的 JavaScript 中使用 Controller 操作的绝对路径:

$.ajax({
    url: '/Home/Load',
    type: 'post',
    dataType: 'json'
})

问题是在某些环境下,我们会在前面添加一个额外的虚拟目录,所以URL实际上是/Path/To/App/Home/Load。我想知道是否有一种方法可以编写我的 JavaScript,这样它就不需要在我每次部署时都更新。我可以使用相对 URL,例如 ../Home/Index,但有时我会四处移动我的 JavaScript 代码。使用 MVC 的 bundler 时,事情也会变得更加棘手。如果 ~ 字符有效,那就太好了。

最佳答案

这是我的做法:

在您的主视图中添加以下行(此处使用 Razor 语法):

<script type="text/javascript">
    var appBaseUrl = "@Url.Content("~")";
</script>

然后在 Javascript 中:

$.ajax({
    url: appBaseUrl + 'Home/Load',
    type: 'post',
    dataType: 'json'
})

关于javascript - 从 JavaScript 引用 Controller 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15138916/

相关文章:

c# - 将日期时间作为查询字符串参数传递给 Servicestack.net GET 方法时出错

javascript - 保护亚马逊存储桶中的 json 数据

javascript - 在 TypeScript 中动态返回一个类构造函数

php - MySQL 和 jQuery : Store dynamic generated content in database

javascript - 如何等到所有页面加载后才获取这些页面的元素?

c# - .NET Core MVC 中的可选模型属性绑定(bind)

c# - HtmlHelper 将 & 编码为 &

javascript - Angular 搜索过滤器不在整个表中搜索

javascript - Bootstrap 表导出和分页问题

jquery - 通过 AJAX 发送数据