Ste*_*eve 0 asp.net-mvc jquery
我试图在ASP.Net MVC页面上进行jQuery AJAX调用.我可以在调试器中单步调试回调函数,看看javascript正在执行,但是没有更新.
<asp:Content ID="Content2" ContentPlaceHolderID="MenuContent" runat="server">
<% Html.RenderPartial("homeMenu"); %>
<script type="text/javascript">
InitHomeMenu('homeMenu', function (menuItem) {
var id = menuItem.attr('id');
if (id = 'menuMission') {
$('homeContent').load('Home/Mission');
}
else if (id = 'menuSuggestions') {
$('homeContent').load('Home/Suggestions');
}
});
</script>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
<div id="homeContent">
<% string control = ViewData["Control"] != null ? ViewData["Control"].ToString() : "Mission";
Html.RenderPartial(control); %>
</div>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)
呼叫$('homeContent').load()正在发挥作用.我可以确认我有数据,但div没有更新.
假设这homeContent是div的id,你需要在其前面加上一个哈希:
$('#homeContent').load('Home/Mission');
Run Code Online (Sandbox Code Playgroud)
如果是类,则在其前面加上句点:
$('.homeContent').load('Home/Mission');
Run Code Online (Sandbox Code Playgroud)
JQuery使用CSS选择器.
-
如果您的AJAX调用失败,那么它将以静默方式执行(您可能从服务器获得错误500,这在AJAX调用中隐藏,除非您在完整的.ajaxJQuery方法上挂接错误委托).
使用像Fiddler这样的东西检查是否从服务器返回了数据.