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>

相关文章

1.第一步 设置响应头 header(&#39;Access-Control-Allow...
$.inArray()方法介绍 $.inArray()函数用于在数组中搜索指定的...
jquery.serializejson.min.js的妙用 关于这个jquery.seriali...
JS 将form表单数据快速转化为object对象(json对象) jaymou...
jQuery插件之jquery.spinner数字智能增减插件 参考地址:http...