Jquery ajax не освежает в модальном
-
26-10-2019 - |
Вопрос
Я использую модал Fancybox для отображения комментариев со страницы новостей, вытянутой из базы данных MySQL. Модал также имеет раздел, который позволяет пользователям публиковать новые комментарии. Я использую jQuery для отправки информации формы в другой сценарий для обработки.
Вместо того, чтобы возвращать успешное сообщение, оно публикует информацию и перенаправляет на страницу вместо отображения информации в модале.
Вот jQuery, который должен вызвать это:
$(document).ready(function(){
$("#submit").click(function() {
/* Set some vars */
var messageText = $("textarea#message").val();
var newsID = $("hidden#newsid").val();
$.post('/process/newmsg.php',
{ message : messageText, newsid: newsID },
function(data) {
$("#fancybox_content").before(data);
}
);
});
});
Есть идеи, что мне здесь не хватает?
Решение
Это не действительный селектор: $ ("Hidden#worned"). Итак, «газета» пуста, а параметры Post дают синтаксис
{ message : messageText, newsid: },
Другие советы
Попробуйте $ ("#fancybox_content"). Html (data);
Прежде чем () не поместит результат в FancyBox_Content, он поместит его перед ним.
Кроме того, если результатом является полный HTML -документ, включая голову и все остальное, это вызовет проблемы. Вы должны сначала проанализировать результаты
Предполагая #submit
это кнопка отправки, вам необходимо отменить поведение по умолчанию этой кнопки, которая должна отправить форму. Либо вернуть False из функции обработчика клика, либо используйте e.preventDefault()
.