Je n'arrive pas à afficher les données (ajax)

Mac11 Messages postés 145 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Hello World !
Je n'arrive pas à afficher les données qui se trouvent dans un fichier xml. Le fichier xml est situé au même niveau que mon html. J'utilise jQuery et ajax pour mon petit programme. Ce qui me perturbe aussi, c'est que je n'ai aucun message d'erreur dans la console. Quelqu'un peut-il m'aider et me dire comment afficher ces données dans le fichier html. Merci
Voici les 2 script
html :
<!DOCTYPE html>
<html lang="fr">
	<head>
		<meta charset="utf-8" />
		<title>Données</title>

		<link rel="stylesheet" href="style.css" />

		<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
		<script type="text/javascript">
			$(function(){
				function getXMLRacers(){
					$.ajax(
						{	
							url:'finishers.xml',
							cache:false,
							dataType:'xml',
							success:function(xml){
								$('#finishers_m').empty();
								$('#finishers_f').empty();
								$('#finishers_all').empty();
								$(xml).find('runner').each(function(){
									var info = '<li>Name: ' + $(this).find('fname').text() + '</li>' + ' ' + $(this).find('lname').text() + ' . Time: ' + $(this).find('time').text() + '</li>';
									if($(this).find('gender').text() == 'm'){
										$('#finishers_m').append(info);
									} else if ($(this).find('gender').text() == 'f') {
										$('#finishers_f').append(info);
									} else { 
										$('#finishers_all').append(info);
									}
								});
								getTime();
							},
						}
					);
				}
			});
		</script>
	</head>

	<body>
		<div id="main">
			<ul class="idTabs">
				<li><a href="#male">Male finishers</a></li>
				<li><a href="#female">Female Finishers</a></li>
				<li><a href="#all">All Finishers</a></li>
			</ul>
			<div id="male">
				<h4>Male Finishers</h4>
				<ul id="finishers_m"></ul>
			</div>
			<div id="female">
				<h4>Female Finishers</h4>
				<ul id="finishers_f"></ul>
			</div>
			<div id="all">
				<h4>All Finishers</h4>
				<ul id="finishers_all"></ul>
			</div>
		</div>
		<footer>
			<h4>Congratulations to all our finishers !</h4>
			<br />Last updated : <div id="updateTime"></div>
		</footer>
	</body>
</html>


xml :
<?xml version="1.0" encoding="utf-8" ?>
<finishers>
	<runner>
		<fname>John</fname>
		<lname>Smith</lname>
		<gender>m</gender>
		<time>25:31</time>
	</runner>
	<runner>
		<fname>Jacob</fname>
		<lname>Walker</lname>
		<gender>m</gender>
		<time>25:54</time>
	</runner>	
	<runner>
		<fname>Mary</fname>
		<lname>Brown</lname>
		<gender>f</gender>
		<time>26:01</time>
	</runner>
	<runner>
		<fname>Jenny</fname>
		<lname>Pierce</lname>
		<gender>f</gender>
		<time>26:04</time>
	</runner>
	<runner>
		<fname>Franck</fname>
		<lname>Jones</lname>
		<gender>m</gender>
		<time>26:08</time>
	</runner>
	<runner>
		<fname>Bob</fname>
		<lname>Hope</lname>
		<gender>m</gender>
		<time>26:38</time>
	</runner>
</finishers>	


Merci pour votre aide
A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,
Si, pour commencer, tu fais un console.log dans le "success" ?
success:function(xml){
  console.log('La réponse :');
  console.log(xml);


Ajoute donc également le .error dans ton ajax
error: function (jqXHR, exception) {
    console.log(jqXHR);
}

0
Mac11 Messages postés 145 Date d'inscription   Statut Membre Dernière intervention   12
 
Merci de me répondre
il me répond ceci :
Uncaught SyntaxError: Unexpected identifier => ligne 46
qui est celle-ci : } error: function (jqXHR, exception) {
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Il me faut le code complet
0
Mac11 Messages postés 145 Date d'inscription   Statut Membre Dernière intervention   12
 
<!DOCTYPE html>
<html lang="fr">
	<head>
		<meta charset="utf-8" />
		<title>Tête la Première</title>

		<link rel="stylesheet" href="style.css" />

		<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
		<script type="text/javascript">
			$(function(){
				
				function getXMLRacers(){
					$.ajax(
						{	
							url:'finishers.xml',
							cache:false,
							dataType:'xml',
							success:function(xml){
								console.log(xml);
								/*$('#finishers_m').empty();
								$('#finishers_f').empty();
								$('#finishers_all').empty();
								$(xml).find('runner').each(function(){
									var info = '<li>Name: ' + $(this).find('fname').text() + '</li>' + ' ' + $(this).find('lname').text() + ' . Time: ' + $(this).find('time').text() + '</li>';
									if($(this).find('gender').text() == 'm'){
										$('#finishers_m').append(info);
									} else if ($(this).find('gender').text() == 'f') {
										$('#finishers_f').append(info);
									} else { 
										$('#finishers_all').append(info);
									}
								});
								getTime();*/
							} error: function (jqXHR, exception) {
							    console.log(jqXHR);
							},
						}
					);
				}
			});
		</script>
	</head>

	<body>
		<div id="main">
			<ul class="idTabs">
				<li><a href="#male">Male finishers</a></li>
				<li><a href="#female">Female Finishers</a></li>
				<li><a href="#all">All Finishers</a></li>
			</ul>
			<div id="male">
				<h4>Male Finishers</h4>
				<ul id="finishers_m"></ul>
			</div>
			<div id="female">
				<h4>Female Finishers</h4>
				<ul id="finishers_f"></ul>
			</div>
			<div id="all">
				<h4>All Finishers</h4>
				<ul id="finishers_all"></ul>
			</div>
		</div>
		<footer>
			<h4>Congratulations to all our finishers !</h4>
			<br />Last updated : <div id="updateTime"></div>
		</footer>
	</body>
</html>
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Regarde donc sur internet comlent et où on doit ecrire le .error dans un ajax...
0