Я искал и искал и не могу понять, почему этот код не загружает элемент XML в
. Я пытаюсь загрузить XML из файла, прочитать определенный элемент и поместить его данные в определенный элемент.
HTML:
<!DOCTYPE html>
<html>
<head>
<script
src = "https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
$(document).ready(function(){
$.ajax({
type: "GET" ,
url: "score1.xml" ,
dataType: "xml" ,
success: function(xml) {
var xmlDoc = $.parseXML( xml ),
$xml = $( xmlDoc );
$home = $xml.find( "home" );
$( "#home" ).text( $home.text() );
}
});
});
</script>
</head>
<body><p id = "home"></p>
</body>
</html>
score1.xml:
<?xml version = "1.0" encoding = "UTF-8"?><score><home>22</home></score>
(Также следует добавить, что, хотя я использую PHP/HTML в течение многих лет, я новичок в ООП и JQuery.)
Никаких ошибок JS, все работает через XAMPP. Ошибок консоли нет.
Вы пытались поставить точку останова внутри обратного вызова success и проверить значение xml?
@jom Не совсем уверен, как бы я поступил? Я использовал несколько console.info и получил null и w.fn.init {}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Просто удалите строку parseXML, и она отлично заработает:
$(document).ready(function() {
$.ajax({
type: "GET",
url: "score1.xml",
dataType: "xml",
success: function(xml) {
var $xml = $(xml);
$home = $xml.find("home");
$("#home").text($home.text());
}
});
});
Я удалил эту строку:
var xmlDoc = $.parseXML(xml);
И теперь он работает идеально.
Господи, что было просто. Спасибо! Работает отлично!
Никаких проблем! Всегда рад помочь @ChaseCromwell
Принято, стек предотвращает принятие ответа в течение 10 минут после задания вопроса.
Любые ошибки сети или JS?