Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/01/2011, 14h24   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 3
Points : 4
Points : 4
Par défaut Récupérer variables xml entre controller et vue

Bonjour,

Dans mon controller, j'ai ce code:
Code :
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
 
<?php
if ($_REQUEST['tvSelect'] != null)
{
  $tvSelect = $_REQUEST['tvSelect'];
 
  $cond = array('recursive' => 0, 'conditions'=>'Webtv.slug = "'.$tvSelect.'"', 'order' => 'Episode.id DESC', 'limit' => 12 ,'fields' => array('Episode.webtv_id', 'Episode.title', 'Episode.description', 'Episode.vignette', 'Episode.created', 'Episode.slug'));
 
  $listEpi = $this->Episode->find('all', $cond);
 
  $lien1Href = array();
  $lien1Img  = array();
  $lien2Href = array();
  $lien2Titr = array();
  $descript  = array();
  $date	   = array();
 
  foreach ($listEpi as $episode)
  { 
    $description = $this->troncature($episode['Episode']['description']);
    $webtvId = $episode['Episode']['webtv_id'];
 
    if ($webtvId == 3 || $webtvId == 4)
    {
      $lien1Href[] = '/episodes/view/'.$episode['Episode']['slug'];
      $lien1Img[]  = '/img/tv/'.$episode['Episode']['vignette'];
      $lien2Href[] = '/episodes/view/'.$episode['Episode']['slug'];
      $lien2Titr[] = $episode['Episode']['title'];
      $descript[]  = $description;
      $date[]      = $this->getDatefrcourt($episode['Episode']['created']);
    }
  }
 
  header('Content-Type: text/xml');
  echo '<'.'?xml version="1.0" encoding="ISO-8859-1"?'.'>'."\n";
?>
  <listEpisodes>
    <lien1Href><?php echo $lien1Href; ?></lien1Href>
    <lien1Img><?php echo $lien1Img; ?></lien1Img>
    <lien2Href><?php echo $lien2Href; ?></lien2Href>
    <lien2Titr><?php echo $lien2Titr; ?></lien2Titr>
    <descript><?php echo $descript; ?></descript>
    <date><?php echo $date; ?></date>
  </listEpisodes>
<?php } ?>
Et dans ma vue, je veux récupérer le xml envoyé par le code ci-dessus.
J'utilise le code suivant:
Code :
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
 
/**La fonction qui sert à envoyer vers le php */
function getListEpisodes ()
{
  /**Je récupère l'élement html <select> */
  var selectElmt = document.getElementById("List");
 
  /**Je récupère la valeur du select affin de l'envoyer au script php ci-dessus */
  var valSelect = selectElmt.options[selectElmt.selectedIndex].value;
 
  /**J'utilise prototype.js */
  var url = '';
  var req = new Ajax.Request(
			      url,
			      {
				method: 'get',
				parameters: 'tvSelect='+valSelect,
				onSuccess: actualiserPage,
				onFailure: afficherErreur
			      }
			    );
 
}
 
/**La fonction qui récupère le xml envoyé par le controller et qui me permettra d'afficher les nouveaux éléments dans ma page */	
function actualiserPage(requete)
{
  /**Je sais qu'ici il faut utiliser responseXML mais je voulais voir ce qu'il y avait dedans d'où le responseText */
  var docXml = requete.responseText;
  alert(docXml);
}
Pour enfin en venir à mon problème.
Le alert(docXml) affiche bien le xml envoyer par le controller sauf qu'au lieu de n'envoyer que ça, il met à la suite tout le code de la page:
<Doctype...> et tout le reste du code html de ma page.
Je ne sais pas pourquoi je ne récupère pas juste le xml.

Si quelqu'un à une idée, elle serait la bienvenue parce que je n'en peux plus!!
Je débute tout juste avec ajax et javascript.
Merci d'avance
leoetevan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h43.


 
 
 
 
Partenaires

Hébergement Web