jQuery AJAX加载未在ASP.NET MVC控制器上执行

前端之家收集整理的这篇文章主要介绍了jQuery AJAX加载未在ASP.NET MVC控制器上执行 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在这里有一件简单的事情:两个div和两个调用以加载局部声(以PartialView作为结果的控制器动作).

我正在处理两个控制器操作:Index和ItemDetail. jQuery加载在Index操作返回的视图中起作用,但不适用于ItemDetail.

这些项目在同一控制器中,您可以按以下方式在浏览器中访问它们:
http://[site]/items
http://[site]/items/itemdetail

为了找出问题所在,我将Index和ItemDetail设置为返回具有相同语法的视图:

<div id="deptTickets">Loading department tickets...</div>
<div id="recentTickets">Loading recent tickets...</div>

<script type="text/javascript" language="javascript">
    $("#deptTickets").load("items/DepartmentTickets");
    $("#recentTickets").load("items/RecentTickets");
</script>

.load方法触发并加载索引的适当部分视图,但不加载ItemDetail.

我认为唯一不同的是路线.实际上,如果我在索引中返回“详细”视图,它将正确呈现并运行jQuery,并且如果我在itemDetail的控制器操作中返回“索引”视图,它将呈现页面,但从不执行jQuery.

有任何想法吗?

最佳答案
您需要使URL相对于站点根目录,否则您的路由将不正确.最好使用Url帮助程序.

<script type="text/javascript" language="javascript"> 
    $("#deptTickets").load("<%= Url.Action( "DepartmentTickets","Items" ) %>"); 
    $("#recentTickets").load("<%= Url.Action( "RecentTickets","Items" ) %>"); 
</script>

猜你在找的jQuery相关文章