Bonjour,

J'ai le code suivant qui fonctionne (fichier reponse.php) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<?php
include_once 'Film.class.php';
$tabFilms = array();
$tabFilms[] = new Film("1234", "Le beau frère", "Divertissement", "Un beau frère qui ne se trouve pas beau.", 1980);
$tabFilms[] = new Film("5678", "Le masque de zéro", "Divertissement", "Un zéro qui ne se masque pas", 1982);
 
$films = new SimpleXMLElement("<films></films>");
 
foreach ($tabFilms as $f)
{
    $film = $films->addChild("film");
    $film->addAttribute("reference", $f->getReference());
 
    $film->addChild("titre", $f->getTitre());
    $film->addChild("resume", $f->getResume());
    $film->addChild("annee", $f->getAnnee());
}    
 
header('Content-Type: text/xml; charset=utf-8');
echo $films->asXML();
 
?>
... et qui crée le fichier XML suivant ( avec la commande : echo $films->asXML("films.xml") ) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<?xml version="1.0"?>
<films>
<film reference="1234">
<titre>Le beau frère</titre>
<resume>Un beau frère qui ne se trouve pas beau.</resume><annee>1980</annee>
</film>
<film reference="5678">
<titre>Le masque de zéro</titre>
<resume>Un zéro qui ne se masque pas</resume>
<annee>1982</annee>
</film>
</films>
... et le code AJAX pour lire et afficher les films dans le navigateur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<!DOCTYPE h1 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<title>Demande de la liste des films</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

    <form id='idForm'
        name='ajax'
        method='post'
        action="http://localhost/ajax/reponse.php">

        <p>Pour afficher les films, cliquez ici :</p>

        <input type="submit"
            id='boutonSubmit'
            class='bouton'
            title="Demander liste des films" />

    </form>

    <div id='message'></div>

    <!-- JQUERY LIBRARY -->
    <script type='text/javascript' src='jquery.js'></script>


    <script type='text/javascript'>
    
$(document).ready(function()
{
    $('#boutonSubmit').click(function()
    {
        var page = $('#idForm').attr('action');
        var methode = $('#idForm').attr('method');
            
        $.ajax
        ({
            url: page,
            type: methode,
            cache: false,
            async: false,
            timeout: 4000,
            // data: $('#idForm').serialize(),
            dataType: 'xml',
            success: function(xml)
            {
                $(xml).find('film').each(   
                        function()
                        {
                            var reference = $(this).attr('reference');
                            var titre = $(this).find('titre').text();
                            var resume = $(this).find('resume').text();
                            var annee = $(this).find('annee').text();

                              var info = "==== FILM DE REFERENCE : " + reference + " ====\nTITRE : " + titre + "\nRESUME : " + resume + "\nANNEE : " + annee + "\n\n" + ;
                            afficher(info);
                        });
            },
            error: function (XMLHttRequest, textStatus, errorTrows)
            {
                afficher("ERREUR");
            }
        });
            
        return false;
    });
});

function afficher(info) {
    $('#message').empty();
    $('#message').append(info);
}
 
</script>

</body>
</html>
Quand je lance le script PHP : celui-ci crée bien le fichier XML et le renvoie au navigateur.

Par contre le navigateur me renvoie ce type d'erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Erreur d'analyse XML : données incompréhensibles après l'élément de document
Emplacement : http://localhost/ajax/reponse.php
Numéro de ligne 2, Colonne 1 :<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
^
... dans le navigateur le debuggeur js ne démarre même pas sauf quand je retire les ligne suivantes du script js (reproduit ci-après OU en gras dans le code au dessus) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
var reference = $(this).attr('reference');
var titre = $(this).find('titre').text();
var resume = $(this).find('resume').text();
var annee = $(this).find('annee').text();
 
var info = "==== FILM DE REFERENCE : " + reference + " ====\nTITRE : " + titre + "\nRESUME : " + resume + "\nANNEE : " + annee + "\n\n" + ;
afficher(info);
Pouvez-vous m'aider pour enfin résoudre ce problème car cela fait bien longtemps que je planche sur celui-ci.

Merci d'avance.

A+