Bonjour tout le monde,
Je galère avec une petite requête ajax toute simple, le state avance jusqu'a 1 et pas plus :-(
Pourtant avec firebug je vois bien une réponse avec la bonne valeur. et quand je met un error_log dans mon php sur le bout de code en question il n'y a aucun problème.
la méthode qui fait l'appel ajax:
le code html (avec smarty)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 function MajPoste(code){ ID = document.Identification.ID.value; xhr = getXhr(); console.log('readyState 0 : ' + xhr.readyState); xhr.open("POST", "ajaxFonction.php", true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.setRequestHeader("Cache-Control","no-cache"); xhr.send("case=getIndicPoste&COD="+code+"&ID="+ID); console.log('readyState : ' + xhr.readyState); xhr.onreadystatechange = function(){ console.log('readyState in : ' + xhr.readyState); if(xhr.readyState == 4 && xhr.status == 200){ result = xhr.responseText; alert('resultat : '+result); if(result == '0'){ document.getElementById('TDDoublonPoste').innerHTML = ""; }else if(result == '1') { document.getElementById('TDDoublonPoste').innerHTML = "<a onclick='ListeAffAvecPosteSource(\"p\")' style='cursor:pointer'>1 autre poste</a>"; }else{ document.getElementById('TDDoublonPoste').innerHTML = "<a onclick='ListeAffAvecPoste(\"p\")' style='cursor:pointer'>"+result+" autres poste source</a>"; } document.Identification.modif.value=true; } }; }
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <td>Code Poste source :</td> <td colspan="2" class="gefip" > {if $COD_EDIT} <span id="DivPosteSource"> <select name="PS_COD" id="PS_COD" style="width:320;" onclick="showModalDialog('liste_poste_source.php?COD='+document.Identification.COD.value,window,'dialogWidth:660px;dialogHeight:400px;scrollbars:yes;resize:yes');""> {if $COD} <option value="{$COD}">{$LIB} ({$COD})</option> {else} <option value="-1">Choisissez un poste</option> {/if} </select> </span> {else} {$PS_LIB}<input name="COD" type="hidden" value="{$COD}"> {/if} <div id="TDDoublonPoste" style="display:inline"> {if $FLAG_POSTE != "0" && !empty($FLAG_POSTE_SOURCE) } {if $FLAG_POSTE_SOURCE == 1} <a >1 autre affaire est sur ce poste source</a> {else} <a >{$FLAG_POSTE} autres affaires sont sur ce poste source</a> {/if} {/if} </div> </td>
et le php appelé dans ajaxFonction
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 $COD = $_POST['COD']; $ID = $_POST['ID']; if (!empty($COD)){ //recuperation du nombre de poste $sql = "select count(distinct(id)) as NB from affaire where cod = '$COD'"; $result = $db->query($sql);error_log($sql); $row = $result->fetchRow(DB_FETCHMODE_OBJECT); echo $row->NB; } else { echo '0'; }
je ne vois vraiment pas ce qui cloche... si quelqu'un a une idée je suis preneur.
Merci d'avance
EDIT :
J'ai bien vu ce post http://www.developpez.net/forums/d85...us-bloque-1-a/ qui parle de problème avec la fonction send mais je ne pense pas que cela soit mon cas.
Partager