У меня небольшая проблема с моим ajax
ответом, который возвращает raw html
, а сценарий не выполняется, поэтому raw html
предоставляется без jquery ui
выполненных сценариев.
Вот подробности:
В настоящее время я нахожусь на ASP.NET MVC, я хотел бы связаться с
сервером, чтобы получить данные куда-нибудь и вернуться с точки зрения объекта.
Razor, способный обрабатыватьмодель и отображение данных для меня.
Мне нужен jquery для функциональности tab
, полезной для организации данных.
Проблема
Прежде чем я вызову ответ ajax, jquery
отлично работает, как показано на рисунке ниже:

Я могу получить доступ к каждой вкладке, щелкнув заголовок, и это предоставляет разные детали.Это на 100% скопировано из официальной документации jquery для вкладок, как показано здесь
Когда я нажимаю кнопку отправки, она вызывает get request
на сервер и обрабатывает данные.Теперь я могу обновить детали на основе более новых данных.Но когда я пытаюсь щелкнуть «Отправить», он возвращает следующее:

Как видно из рисунка, он сломал скрипт jquery и, следовательно, просто показал, что находится внутри html-кода.
Я могу заверить, что проблема не в jquery, поскольку я протестировал отображение формы при нажатии, как показано здесь.Обратите внимание, что приведенный ниже код не отражает изображение выше, как прежде, чем нажать normal response
, он не будет отображать детали, подобные первому изображению.
string disp = "none";
if (ViewBag.Message == "AJAX")
{
disp = "block";
}
<div id="timetableList" style="display: @disp">
Это означает, что обновлены новые данные.Так что проблема не в jquery.ajax
сделал, чтобы заменить div от старых данных на новые, как показано здесь:
var ajaxFormSubmit = function () {
var $form = $(this);
var options = {
url: $form.attr("action"),
type: $form.attr("method"),
data: $form.serialize()
};
$.ajax(options).done(function (data) {
var $target = $($form.attr("data-otf-target"));
var $newHtml = $(data);
$target.replaceWith($newHtml);
$newHtml.effect("highlight");
});
return false;
};
Здесь .done(function (data))
, переданные данные - это новый HTML, который был обновлен, я проверилво время отладки:

"\r\n<div id=\"timetableList\">\r\n <ul>\r\n <li><a href=\"#tabs-1\">Nunc tincidunt</a></li>\r\n <li><a href=\"#tabs-2\">Proin dolor</a></li>\r\n <li><a href=\"#tabs-3\">Aenean lacinia</a></li>\r\n </ul>\r\n ......
Можно сказать, что ajax заменит данные новым html, но не выполнит jquqry, как показано выше,Есть ли способ, чтобы он load scripts
, чтобы можно было показать результат, как ожидалось.
Заранее спасибо