如何在托管 mvc 3 应用程序时解决 ajax post

发布于 2024-12-10 05:35:46 字数 91 浏览 0 评论 0原文

我在 IIS7 中托管 MVC3 应用程序。应用程序已托管,但 ajax post 无法在应用程序中运行。

有人可以帮忙吗?

提前致谢。

I am hosting a MVC3 application in IIS7. The aplication got hosted but ajax post is not working in the application.

Could Anyone help on this?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧时模样 2024-12-17 05:35:46

你已经在 J​​avaScript 中硬编码了 url,不是吗?

例如,您写道:

$.ajax({
    url: '/Home/Ajax',
    success: function() {

    }
});

而不是使用 url 帮助器:

$.ajax({
    url: '@Url.Action("Ajax", "Home")',
    success: function() {

    }
});

另外,您可能有硬编码的脚本位置:

<script type="text/javascript" src="/Scripts/somscript.js"></script>

而不是使用 url 帮助器:

<script type="text/javascript" src="@Url.Content("~/Scripts/somscript.js")"></script>

现在继续检查您的代码,并将硬编码的所有 url 替换为使用帮助器生成的 URL。

当您将代码托管在 IIS 中时,代码无法工作的原因是您将应用程序托管在虚拟目录中。所以正确的路径不再是/Home/Index而是/SomeAppName/Home/Index。确保您的应用程序能够在所有环境中运行(无论托管在何处)的最佳方法是始终使用 url 帮助程序。

You have hardcoded the urls in your javascript, haven't you?

For example you wrote:

$.ajax({
    url: '/Home/Ajax',
    success: function() {

    }
});

instead of using url helpers:

$.ajax({
    url: '@Url.Action("Ajax", "Home")',
    success: function() {

    }
});

Also you probably have hardcoded script locations:

<script type="text/javascript" src="/Scripts/somscript.js"></script>

instead of using url helpers:

<script type="text/javascript" src="@Url.Content("~/Scripts/somscript.js")"></script>

Now go ahead through your code and replace all urls that you have hardcoded with ones generated with helpers.

The reason your code doesn't work when you host it in IIS is because you host your application in a virtual directory. So the correct path is no longer /Home/Index but /SomeAppName/Home/Index. The best way top ensure that your application will work in all environments no matter where it is hosted is to always use url helpers.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文