Simuler une requête de type XMLHttpRequest

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.

Ajouter un commentaire