Этот код должен переходить на load.php и получать некоторые данные в формате xml, анализировать его и загружать в div и отображать его. Он отлично работает, за исключением того, что данные из load.php отображаются дважды. Есть ли другой способ сделать это, что не приведет к тому, что данные будут показаны дважды? Я видел несколько сообщений, связанных с функцией готовности документа, вызывающей эту проблему, но не могу понять, как применять любые решения для этого случая. Я помещаю это в заголовки на моей странице. Я действительно хочу сохранить этот формат, потому что в итоге я отправлю некоторые данные на страницу load.php.
SCRIPT
$(document).ready(function () {
$.ajax({
type: 'POST',
url: 'load.php',
success: loadReturn
});
function loadReturn(data) {
var xml = $.parseXML(data);
$xml = $(xml);
$errorcode = $xml.find('errorcode');
$data = $xml.find('data');
document.getElementById("defaultcode").innerHTML = $data.text();
$("#defaultcode").fadeIn(300);
}
});
</script>
HTML
<div id="defaultcode" style><h3>a title</h3><p>blah blah</p><h3>a title</h3><p>blah blah</p></div>
Заранее благодарю за ваше время.
Прежде всего, я пытаюсь исправить ваш код в правильном направлении. но я не думаю, что код неправильный. вы должны отправить два тега data
из load.php
. проверьте свои возвращенные data
.
$(document).ready(function () {
$.ajax({
type: 'POST',
url: 'load.php',
success: loadReturn
});
function loadReturn(data) {
// check your data
console.log(data);
// jQuery will parse for you automatically
var $xml = $(data);
var $errorcode = $xml.find('errorcode');
var $data = $xml.find('data');
// set html before fadeIn
$("#defaultcode").html($data.text()).fadeIn(300);
}
});
method chaining
document.getElementById("defaultcode")
в одной строке и$("#defaultcode")
в следующей?