Page 1 sur 1

[AJAX] Requête AJAX ne renvoie pas de résultat

Posté : 28 mai 2013, 15:42
par Akim13
Bonjour,

Je développe, un module sur prestashop.
J’essaye de recevoir des réponses, d’une fonction php qui ce trouve dans la même page, mais les réponses de ma fonction n’arrive qu’à la fin de l’exécution de celle ci, 30 secondes plus tard.

Code : Tout sélectionner

$this->_html .=  <button  class="classname" onclick="etape()" style="width:100%;">Recevoir réponse</button> <div style="text-align : center;color:#000;font-size:14px;font-family: Verdana,Arial,Bitstream Vera Sans,Helvetica,Sans-serif;" id="progress" name="progress">...</div> 

Code : Tout sélectionner

<script type="text/javascript"> function etape() { jQuery.ajax( { type: "POST", url: "index.php?controller=AdminModules&configure=gestion&token=3ab3516fa575fb081da341b6f667d5be&tab_module=quick_bulk_update&module_name=gestion", data: { EtapeNow: "1", async: true }, success: function(data, textStatus, jqXHR) { document.getElementById("progress").innerHTML ="-"+data+"-"; }, error: function(jqXHR, textStatus, errorThrown) { document.getElementById("progress").innerHTML = "error : "+errorThrown; } } ); } </script>';
Je pense que le problème vient du fait que l’url est composée comme ceci.
index.php?controller=AdminModules&configure=gestion&token=3ab3516fa575fb081da341b6f667d5be&tab_module=quick_bulk_update&module_name=gestion

ou peut être par ce que j’essaye de récupérer les résultat d’un foreach(
Comme ceci

Code : Tout sélectionner

foreach($this->liste as $elements ) {   echo $i.’<br>’ ; 
Meme avec ca ne fonctionne pas

Code : Tout sélectionner

foreach($this->liste as $elements )   { $toto = $elements ['name'];     echo '<script>';      echo 'document.getElementById("progress").innerHTML = "('.$toto.')";';     echo '</script>'; 


Pouvez vous m’adez SVP.
Merci d'avance

Re: [AJAX] Requête AJAX ne renvoie pas de résultat

Posté : 28 mai 2013, 16:37
par ghost5922
Bonjour,

tu peux deja voir pour encoder ton url avec encodeURI(); puis faire une alert(data); pour voir se que php te retourne

Re: [AJAX] Requête AJAX ne renvoie pas de résultat

Posté : 28 mai 2013, 16:54
par Akim13
Merci pour votre aide.

Voila ce que j’ai fait, mais aucun changement, le résultat arrive a la fin seulement.
[javascript]function etape()
{
var EtapeNow = "1";
var vuri = encodeURI("index.php?controller=AdminModules&configure=gestion&token=3ab3516fa575fb081da341b6f667d5be&tab_module=quick_bulk_update&module_name=gestion?EtapeNow="+EtapeNow);
jQuery.ajax(
{
type: "GET",
url: vuri,[/javascript]

Y a-t-il une autre façon de faire, que celle-ci jQuery.ajax(?

Re: [AJAX] Requête AJAX ne renvoie pas de résultat

Posté : 28 mai 2013, 17:04
par ghost5922
et comme ceci

[javascript]
<script type="text/javascript">
function etape()
{
url=encodeURI("index.php?controller=AdminModules&configure=gestion&token=3ab3516fa575fb081da341b6f667d5be&tab_module=quick_bulk_update&module_name=gestion");
jQuery.ajax(
{
type: "POST",

url: url,
data: {
EtapeNow: "1",
async: true
},
success: function(data, textStatus, jqXHR) {
alert(data);
// document.getElementById("progress").innerHTML ="-"+data+"-";
},
error: function(jqXHR, textStatus, errorThrown) {
//document.getElementById("progress").innerHTML = "error : "+errorThrown;
}
}
);
}
</script>';
[/javascript]

et que veux tu dire par "le résultat arrive a la fin seulement" a la fin de l'action

Re: [AJAX] Requête AJAX ne renvoie pas de résultat

Posté : 28 mai 2013, 17:13
par Akim13
Voila le résultat de l’alert en image car je ne peux pas faire un copie coller
message1.jpg

Re: [AJAX] Requête AJAX ne renvoie pas de résultat

Posté : 28 mai 2013, 17:21
par ghost5922
Ok parfait donc maintenant tu arrives bien sur ton fichier ?
regarde a la fin il a une erreur règle la puis vire alert() et dé commente les lignes

en gros le résultat de alert() va venir remplier l'id progress