Problème responseXML
leoetevan
Messages postés
118
Statut
Membre
-
leoetevan Messages postés 118 Statut Membre -
leoetevan Messages postés 118 Statut Membre -
Bonjour,
Dans mon controller, j'ai le code suivant:
$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"?'.'>';
<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>
Dans mon controller, j'ai le code suivant:
$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"?'.'>';
<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>
1 réponse
Et dans ma vue:
<script type='text/javascript'>
var requete = null;
try
{
requete = new XMLHttpRequest();
}
catch (essaimicrosoft) /** Pour les navigateurs microsoft (IE) */
{
try
{
requete = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (autremicrosoft)
{
try
{
requete = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (echec)
{
requete = null;
}
}
}
if (requete == null)
{
alert("Erreur de création de XMLHttpRequest!");
}
function getListEpisodes ()
{
/**On récupère l'élement html <select> */
var selectElmt = document.getElementById("List");
/**On récupère la valeur du select */
var valSelect = selectElmt.options[selectElmt.selectedIndex].value;
var url = "?tvSelect="+escape(valSelect);
requete.open("GET", url, true);
requete.onreadystatechange = actualiserPage;
requete.send(null);
}
function actualiserPage()
{
if (requete.readyState == 4)
{
if (requete.status == 200)
{
var docXml = requete.responseXML;
alert(docXml);
var lien1Href = docXml.getElementsByTagName("lien1Href");
<script type='text/javascript'>
var requete = null;
try
{
requete = new XMLHttpRequest();
}
catch (essaimicrosoft) /** Pour les navigateurs microsoft (IE) */
{
try
{
requete = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (autremicrosoft)
{
try
{
requete = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (echec)
{
requete = null;
}
}
}
if (requete == null)
{
alert("Erreur de création de XMLHttpRequest!");
}
function getListEpisodes ()
{
/**On récupère l'élement html <select> */
var selectElmt = document.getElementById("List");
/**On récupère la valeur du select */
var valSelect = selectElmt.options[selectElmt.selectedIndex].value;
var url = "?tvSelect="+escape(valSelect);
requete.open("GET", url, true);
requete.onreadystatechange = actualiserPage;
requete.send(null);
}
function actualiserPage()
{
if (requete.readyState == 4)
{
if (requete.status == 200)
{
var docXml = requete.responseXML;
alert(docXml);
var lien1Href = docXml.getElementsByTagName("lien1Href");