如何在托管 mvc 3 应用程序时解决 ajax post
我在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你已经在 JavaScript 中硬编码了 url,不是吗?
例如,您写道:
而不是使用 url 帮助器:
另外,您可能有硬编码的脚本位置:
而不是使用 url 帮助器:
现在继续检查您的代码,并将硬编码的所有 url 替换为使用帮助器生成的 URL。
当您将代码托管在 IIS 中时,代码无法工作的原因是您将应用程序托管在虚拟目录中。所以正确的路径不再是
/Home/Index
而是/SomeAppName/Home/Index
。确保您的应用程序能够在所有环境中运行(无论托管在何处)的最佳方法是始终使用 url 帮助程序。You have hardcoded the urls in your javascript, haven't you?
For example you wrote:
instead of using url helpers:
Also you probably have hardcoded script locations:
instead of using url helpers:
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.