nmeri17 Ответов: 1

Как добавлять AJAX-данных на бирке уже существующий с таким же названием


Когда страница загружается, нужный раздел (то есть раздел, в который я намереваюсь загрузить контент) опустошается, но console.log ясно показывает, что x несет в себе содержание и просто отказывается от него отказаться.

Что я уже пробовал:

Форма отправляется на эту же страницу, и страница возвращается с той же разметкой, но обработанными данными из отправленной формы.
Код такой как

$.post(url, $('form').serialize(), function (data) {
	var h = $('<div/>').html(data), x = $('body').append(h).find($('div section'))
	console.log(x, x.text())
	
	$('main > section').empty().append(x);

	h.remove();
})

$('[name="bio_submit"]').click(); // auto submit form on load
// manually submitting the form produces the same result also


Я пытался find()Инг других элементов вместо section, как я пробовал потомки разделов, а также другие теги, существующие на странице, даже нижний колонтитул; все они добавляются, но по какой-то странной причине, section отказывающемуся выполнять.
Я также пробовал разворачивать x и передавая свой внешний HTML section с помощью append сигнатура функции. Это тоже не работает. Как мне это сделать?

F-ES Sitecore

Мы не знаем, что находится в "данных", поэтому трудно дать какую-либо конкретную помощь.

nmeri17

Данные содержат всю страницу целиком. Я сказал: "форма публикуется на этой же странице, и страница возвращается с той же разметкой, но обработанными данными из отправленной формы", поэтому в данных отправляется точно такая же страница от объявления doctype до нижнего колонтитула

1 Ответов

Рейтинг:
6

nmeri17

Как ни странно, это работает

$.post(url, $('form').serialize(), function (data) {
 var z = $('main > section').empty(),
 h = $('<div/>').html(data),
 x = $('body').append(h).find($('div section'))
				
 z.append(x);
 h.remove();
})


Между тем, вы можете удалить эту строку $('[name="bio_submit"]').click() так как он срабатывает автоматически каждый раз, когда DOM загружает этот "раздел".