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:
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;
    	}
    };
}
le code html (avec smarty)
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.