Редактировать: Важно: Крайне маловероятно, что у кого-либо, кто сталкивался с этим, будет та же самая проблема, что и у меня - проверьте мой ответ ниже для моего очень неясного решения. Были, однако, некоторые полезные ответы, которые могут относиться к другим ситуациям. Удачи, если у вас возникла похожая проблема.
У меня действительно простой вызов jQuery AJAX:
$("#cart").load("/woops/store/cartsummary");
Возвращает (посредством действия ASP.NET MVC) очень простой HTML:
<DIV>something</DIV>
На моей странице есть целевой DIV, который изначально заполнен некоторым HTML:
<div class="padding15" id="cart">
<% RenderCart(ViewData.Model.CartItems); %>
</div>
Проблема в том, что когда вызов возвращает исходный, #cart div просто исчезает, а не заменяется. Если я смотрю на DOM в Chrome, он просто пуст. Верный HTML-код определенно возвращается, потому что я вижу его в Fiddler.
Кроме того, этот код работает (но, очевидно, это не то, что я хочу, потому что он добавляется):
$.get("/woops/store/cartsummary", {}, function(data) {
$("#cart").append(data);
});
Я думаю, что я просто делаю что-то глупое - но я переключаюсь с Microsoft AJAX на jQuery, и я думаю, что есть просто небольшая фундаментальная вещь, которую я неправильно понимаю. Куда пропал мой DIV?
(Кстати: «woops» - это виртуальный каталог, чтобы убедиться, что на моем сайте нет корневых относительных ссылок во время разработки)