gpt4 book ai didi

ajax - 如何在 MVC3 中的 Ajax Post 中使用相对 URL

转载 作者:行者123 更新时间:2023-12-04 16:40:33 25 4
gpt4 key购买 nike

我在一个单独的“.js”文件中编写了一个 Ajax post 调用,我在多个页面中调用了该文件。
我的代码如下所示:

    $.ajax({
url: '/MyVirtualDirectory/Controller/Action',
type: 'POST',
dataType: 'json',
....
....
})

每次更改服务器中的虚拟目录时,我都需要更改“URL”中的代码才能使 Ajax 调用正常工作。

有什么方法可以使我的代码独立于 IIS 中的“虚拟目录”名称?

我的应用程序是MVC3。

最佳答案

描述
您应该使用 Url.Action方法。但是在您的情况下,一个单独的 js 文件,您无法访问此方法。所以我会为您 View 中的每个 url 创建一个 javascript 变量。然后你可以在你的 js 文件中使用这个变量。

UrlHelper.Action Method - Generates a fully qualified URL to an action method.


样本
您的看法
<script type="text/javascript">
var myUrl = '@Url.Action("actionName", "controllerName")';
</script>

<script type="text/javascript" src="yourJsFile.js"/>
您的 js 文件
$.ajax({
url: myUrl,
....
})
更新
另一种方法是将您的 url 存储在 View 中的隐藏字段中,并在 js 文件中获取隐藏字段值。
更多信息
  • MSDN - UrlHelper.Action Method
  • 关于ajax - 如何在 MVC3 中的 Ajax Post 中使用相对 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10319603/

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