[jQuery] IE6 and ajax method in POST mode

[jQuery] IE6 and ajax method in POST mode


Hi everybody,
this is my question :
i have this jQuery code :
========================
$.ajax({
            type: 'POST',                            // Méthode post
            url: './Includes/chargerModeles.php',    // Fichier appelé
            data: {idMarque: unIdMarque},            // Paramètres du post
            dataType: ($.browser.msie) ? "text" : "xml",
            error:     function(requete,idErreur)
                    {
                        alert('Erreur de chargement AJAX. Code d\'erreur :'+idErreur);
                        $('#modele').append('<option value="-1">Erreur de chargement</
option>');
                        $
("#marque").parents("form").find("input[@type=submit]").attr("disabled",true);
                        $("#marque").parents("form").unblock();
                    },
            success: function(data)                // Fonction appelée une fois la requête
terminée
                    {
                        var modeles;
                     if (typeof data == "string")
                        {
                     modeles = new ActiveXObject("Microsoft.XMLDOM");
                     modeles.async = false;
                     modeles.loadXML(data);
                     }
                        else
                        {
                     modeles = data;
                     }
                        if ( $(modeles).find("reponse").find("modele").length != 0 )
                        { // Il y a au moins un modèle
                            $('#modele').append('<option value="-1">Tous</option>');
                            $(modeles).find("reponse").find("modele").each(function()
                            {
                                $('#modele').append('<option value="'+$(this).find("id").text()
+'">'+$(this).find("nom").text()+'</option>');
                            });
                            $
("#marque").parents("form").find("input[@type=submit]").attr("disabled",false);
                        }
                        else
                        { // On a trouvé aucun modèle
                            $('#modele').append('<option value="-1">Aucun modele trouv\351</
option>');
                            $
("#marque").parents("form").find("input[@type=submit]").attr("disabled",true);
                        }
                        $("#marque").parents("form").unblock();
                    }
        });
    }
    else
    { // L'utilisateur a sélectionné l'option Toutes dans les marques
        $('#modele').append('<option value="-1">Tous</option>');
        $
("#marque").parents("form").find("input[@type=submit]").attr("disabled",false);
    }
================================
and this the PHP code (a part) :
<?php
    /////////////////////////////////////// Include des fichiers
nécessaires
    require_once('Config.php');
    require_once('../'.REP_CLASSES.'/Voiture.php');    // Contient la
méthode ListerModeles
    header('Content-type: xml; charset='.CHARSET);
    /////////////////////////////////////// Initialisation de l'accès à
la base de données
    $baseDonnees = new
PDO(BDD_CONNEXION,BDD_UTILISATEUR,BDD_MOT_DE_PASSE);
    ////////////////////////////////////// Récupération des modèles
    $modeles = Voiture::ListerModeles($baseDonnees,
$_REQUEST['idMarque']);
    ///////////////////////////////////// Formatage du résultat
    $retour = '<reponse>';
    if (count($modeles)!=0)
    {
        foreach($modeles as $unModele)
        {
            $retour .= '<modele>';
            $retour .= '<id>'.$unModele['IdModele'].'</id>';
            $retour .= '<nom>'.$unModele['NomModele'].'</nom>';
            $retour .= '</modele>';
        }
    }
    $retour .= '</reponse>';
    $baseDonnees = null;
    echo $retour;
?>
With FireFow i have no problem,
With IE7 the result is correct
But with IE6 this is not working. I made some test and finally
understand the error that is the data is not sent to my PHP page (i
have an error like : index idMarque is not found).
What do I have to do to this code be right under IE6 ?
The only solution i've found is to do like this (but i think there is
a better way) :
$.ajax({
            type: 'POST',                            // Méthode post
            url: './Includes/chargerModeles.php?idMarque='+y
unIdMarque,    // Fichier appelé
            //data: {idMarque: unIdMarque},            // Paramètres du post
            dataType: ($.browser.msie) ? "text" : "xml",
            error:     function(requete,idErreur)
Thank you for reading ;)