Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework
Zend Framework Forum d'entraide sur la programmation PHP avec Zend Framework. Avant de poster -> FAQ ZF, Cours ZF
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 23/10/2011, 21h45   #1
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 261
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 261
Points : 30
Points : 30
Par défaut Ajax ne fonctionne pas sur controlleur différent

Bonjour, je développe un projet utilisant Zend Framework et de l'Ajax.

J'ai dans ma page un menu avec des liens qui mènent à différentes pages où quand je clique dessus, je fais appel à cette fonction javascript:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
function displayPage(nomPage)
{
	$.ajax(
	{
	       url: nomPage,
	       type: 'GET',
	       context: document.corps,
	       data: 
	       {
		   "format" : "html"
	       },
	       error: errorAjax,
	       dataType: "html",
	       success: function(data)
		{
		      document.getElementById('corps').innerHTML = data;
		}
	});
}
nomPage vaut 'index/nomAction'.

Seulement, quand je clique sur mon menu lorsque je suis dans un contrôleur différent de l'index, ca ne me charge rien alors que pourtant, j'ai bien précisé dans tout mes contrôleurs, que les vues pouvait recevoir de l'ajax et j'y ai également créé des fichiers .ajax.phtml pour chaque action.

Voilà un exemple d'action init() dans un de mes contrôleurs:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
// AjaxContext
$this->ajaxContext = $this->_helper->getHelper('AjaxContext');
 
$this->ajaxContext->addActionContext('index', 'html')
                            ->addActionContext('contact', array('html', 'json'))
                            ->initContext();
 
if($this->_request->isXmlHttpRequest())
{
    $this->_helper->layout->disableLayout();
}
Qu'est-ce qu'il manque pour que ça fonctionne?

J'ai pensé à directement mettre le chemin absolu de mon action dans ma fonction Ajax mais ça fait moyen.. :/
absot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2011, 22h37   #2
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 680
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 680
Points : 1 044
Points : 1 044
Tu utilise baseUrl?
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2011, 22h53   #3
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 261
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 261
Points : 30
Points : 30
Je ne peux pas parce que sinon, j'obtiens cette erreur avec firebugt:
Code :
1
2
3
 
invalid regular expression flag c
displayPage(/index/cv)
Voici un des liens de mon menu:
Code :
1
2
 
<a href="#" onclick="displayPage(<?php echo $this->baseUrl('index/index'); ?>)">Accueil</a>
absot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 07h48   #4
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 680
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 680
Points : 1 044
Points : 1 044
C est $this->baseUrl().'/index/index'
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 10h38   #5
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 261
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 261
Points : 30
Points : 30
Ca ne fonctionne toujours pas, j'ai toujours la même erreur soit:
Code :
1
2
3
4
5
 
invalid regular expression flag r
http://static.ak.fbcdn.net/rsrc.php/v1/yo/r/n8HMk6QKzko.js
Line 5
displayPageAdmin(/nomRepertoire/nomProjet/index/index)
Et voici mon code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
function displayPage(nomPage)
{
	alert(nomPage);
	$.ajax(
	{
	       url: nomPage,
	       type: "GET",
	       context: document.ajax,
	       data: {
				"format" : "html"
				},
	       error: errorAjax,
		   dataType: "html",
		   success: function(data)
		   {
		      	document.getElementById('ajax').innerHTML = data;
		   }
	});
}
 
<a onclick="displayPage(<?php echo $this->baseUrl().'/index/index'; ?>)">Accueil</a>
absot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 15h43   #6
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 680
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 680
Points : 1 044
Points : 1 044
Tu es sur que ca vient de code? Car l url avec le static dedans ca correspond a quoi?
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 10h09   #7
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 261
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 261
Points : 30
Points : 30
Quand je clique sur "invalid regular expression flag r", ca m'emmène vers le code généré et ça me sélectionne la première ligne.

En revanche, l'url static correspond à une page facebook comme je créé une application facebook.
absot 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 11h44.


 
 
 
 
Partenaires

Hébergement Web