如何解决MVC 3在AJAX帖子中复制了控制器名称
| 如果从localhost:nnnn / Class页面上单击AJAX链接,该链接将发布到\'Class / AddClass \',则我将获得Class / AddClass的RawUrl,并且效果很好。 如果从页面localhost:nnnn / Class / Index上单击相同的链接,则会得到Class / Class / AddClass的RawUrl,并且(显然)它不起作用。 我意识到我正在“路由地狱”中,但是谁在重写URL,为什么?我刻苦地浏览了jQuery代码,并确实将其发布到了Class / AddClass。 感谢您的见解... 埃里克解决方法
问题不在于重写。您的AJAX请求是JavaScript,与ASP.NET路由引擎无关。当您使用“ 0”时,它是相对于当前URL的位置而言的。您可以使用“ 1”将解析到站点的根目录。如果您甚至位于虚拟目录中,也将带来问题。我更喜欢从配置文件中提取完整的URL:
var url = \'<%: ConfigurationManager.AppSettings[\"WebsiteURL\"] %>/Class/AddClass\';
在web.config中使用适当的条目。这消除了任何猜测工作。您也可以使用ResolveUrl
:
var url = \'<%: ResolveUrl(\"/Class/AddClass\") %>\';
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。