Soumis par Maxence le mar, 18/11/2008 - 18:05
Pour simuler une requête de type XMLHttpRequest, vous devez ajouter un entête X-Requested-With. De cette façon, la méthode Zend_Controller_Request_Http::isXmlHttpRequest retournera bien True. Si vous utilisez l'aide d'action ContextSwitch, n'oubliez pas d'ajouter le paramètre format à votre URL.
<?php
$this->request->setHeader('X-Requested-With', 'XMLHttpRequest');
[..]
$this->dispatch('monControlleurAjax/monAction/format/json');
[..]
$this->assertTrue($this->request->isXmlHttpRequest());
?>
Dans le guide de référence il y a un exemple qui montre comment ajouter des entêtes, notamment l'entête X-Requested-With, mais la valeur doit être XMLHttpRequest, et non pas XmlHttpRequest. Zend_Controller_Request_Http::isXmlHttpRequest fait une comparaison en tenant compte de la casse.


Poster un nouveau commentaire