IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

Firefox ASP XMLHttpRequest


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 178
    Par défaut Firefox ASP XMLHttpRequest
    Bonjour,

    envoi d'une requête XMLHttpRequest, avec Chrome pas de problème, tandis qu'avec Firefox ça marche seulement si j'affiche d'abord la variable ASP que je veux envoyer comme paramètre avec un alert...

    ce que j'aimerai réussir à faire est de supprimer l'alert....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <script type="text/javascript">
    			function envoi(){			
    				
    				var xhr = new XMLHttpRequest();				
    		
    				var sVar1 = encodeURIComponent("<%=NomFichier%>");
    				
    				xhr.open("GET", "handlingDataR.php?variable1=" + sVar1, true);
    				xhr.send(null);
    				alert("<%=NomFichier%>");
    			}
    			envoi();
    		</script>

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    En général quand un alert() change quelque chose c'est parce qu'il force le script dans un temps d'attente qui n'est pas là d'habitude.

    Tu peux nous montrer un peu plus ce qui se passe avant et après ce script ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 178
    Par défaut
    Il s'agit de l'ajout d'une photo, l'internaute clique sur un input file pour ajouter une image et le formulaire est envoyé :

    le paramètre action du formulaire renvoi vers la page en cours avec 2 paramètres:

    document.forms['formPH'].action = "indexR.asp?tf=oui&aj1=oui"

    Puis les 2 paramètres sont évalués:

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
     
    tf = request.querystring("tf")
     
    if tf = "oui" then 
     
    	nD  = now()
    	nD = Replace(nD,"/","_")  
    	nD = Replace(nD," ","_")   
    	nD = Replace(nD,":","_") 
     
    	aj1 = request.querystring("aj1")
    	aj2 = request.querystring("aj2")
    	aj3 = request.querystring("aj3")
    	aj4 = request.querystring("aj4")
    	aj5 = request.querystring("aj5")
    	sup1 = request.querystring("sup1")
    	sup2 = request.querystring("sup2")
    	sup3 = request.querystring("sup3")
    	sup4 = request.querystring("sup4")
    	sup5 = request.querystring("sup5")
     
    	if aj1 = "oui" or aj2 = "oui" or aj3 = "oui" or aj4 = "oui" or aj5 = "oui" then
    		Dim mySmartUpload			
    		Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")		
    		mySmartUpload.AllowedFilesList = "gif,jpg,jpeg,png"
    		mySmartUpload.DeniedFilesList="exe,php,asp,txt"
    		mySmartUpload.MaxFileSize = 500000					
    		mySmartUpload.Upload	
    	end if
     
    	if aj1 = "oui" then	
    	  	for each file in mySmartUpload.Files		
    			if not file.IsMissing then
    				NomFichier = nD & "_1_" & session("ps") & "." & file.FileExt
    				File.SaveAs(server.mappath(".") & "\Photos\" & NomFichier)						
    				rs("Photo1") = NomFichier
    				rs.update
    			end if	
    		Next %>
    		<script type="text/javascript">
    			function envoi(){			
     
    				var xhr = new XMLHttpRequest();				
     
    				var sVar1 = encodeURIComponent("<%=NomFichier%>");
     
    				xhr.open("GET", "handlingDataR.php?variable1=" + sVar1, true);
    				xhr.send(null);
    				alert("<%=NomFichier%>");
    			}
    			envoi();
    		</script><%		
    		set mySmartUpload = Nothing
    	end if
    le fichier handlingDataR.php permet de créer une vignette en se servant du paramètre envoyé, voici son contenu :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
     
     
    <?php
     
    header("Content-Type: text/plain"); // Utilisation d'un header pour spécifier le type de contenu de la page. Ici, il s'agit juste de texte brut (text/plain).
     
    function fct_redim_image($Wmax, $Hmax, $rep_Dst, $img_Dst, $rep_Src, $img_Src) {
      // ------------------------------------------------------------------
     $condition = 0;
      // Si certains paramètres ont pour valeur '' :
       if ($rep_Dst == '') { $rep_Dst = $rep_Src; }  // (meme repertoire)
       if ($img_Dst == '') { $img_Dst = $img_Src; }  // (meme nom)
       if ($Wmax == '') { $Wmax = 0; }
       if ($Hmax == '') { $Hmax = 0; }
      // ------------------------------------------------------------------
      // si le fichier existe dans le répertoire, on continue...
     if (file_exists($rep_Src.$img_Src) && ($Wmax!=0 || $Hmax!=0)) { 
        // ----------------------------------------------------------------
        // extensions acceptées : 
       $ExtfichierOK = '" jpg jpeg png"';  // (l espace avant jpg est important)
        // extension
       $tabimage = explode('.',$img_Src);
       $extension = $tabimage[sizeof($tabimage)-1];  // dernier element
       $extension = strtolower($extension);  // on met en minuscule
        // ----------------------------------------------------------------
        // extension OK ? on continue ...
       if (strpos($ExtfichierOK,$extension) != '') {
           // -------------------------------------------------------------
           // récupération des dimensions de l image Src
          $size = getimagesize($rep_Src.$img_Src);
          $W_Src = $size[0];  // largeur
          $H_Src = $size[1];  // hauteur
           // -------------------------------------------------------------
           // condition de redimensionnement et dimensions de l image finale
           // -------------------------------------------------------------
           // A- LARGEUR ET HAUTEUR maxi fixes
          if ($Wmax != 0 && $Hmax != 0) {
             $ratiox = $W_Src / $Wmax;  // ratio en largeur
             $ratioy = $H_Src / $Hmax;  // ratio en hauteur
             $ratio = max($ratiox,$ratioy);  // le plus grand
             $W = $W_Src/$ratio;
             $H = $H_Src/$ratio;   
             $condition = ($W_Src>$W) || ($W_Src>$H);  // 1 si vrai (true)
          }
           // -------------------------------------------------------------
           // B- LARGEUR maxi fixe
          if ($Hmax != 0 && $Wmax == 0) {
             $H = $Hmax;
             $W = $H * ($W_Src / $H_Src);
             $condition = $H_Src > $Hmax;  // 1 si vrai (true)
          }
           // -------------------------------------------------------------
           // C- HAUTEUR maxi fixe
          if ($Wmax != 0 && $Hmax == 0) {
             $W = $Wmax;
             $H = $W * ($H_Src / $W_Src);         
             $condition = $W_Src > $Wmax;  // 1 si vrai (true)
          }
           // -------------------------------------------------------------
           // on REDIMENSIONNE si la condition est vraie
           // -------------------------------------------------------------
          if ($condition == 1) {
              // création de la ressource-image"Src" en fonction de l extension
              // et on crée une ressource-image"Dst" vide aux dimensions finales
             switch($extension) {
             case 'jpg':
             case 'jpeg':
               $Ress_Src = imagecreatefromjpeg($rep_Src.$img_Src);
               $Ress_Dst = ImageCreateTrueColor($W,$H);
               break;
             case 'png':
               $Ress_Src = imagecreatefrompng($rep_Src.$img_Src);
               $Ress_Dst = ImageCreateTrueColor($W,$H);
                // fond transparent (pour les png avec transparence)
               imagesavealpha($Ress_Dst, true);
               $trans_color = imagecolorallocatealpha($Ress_Dst, 0, 0, 0, 127);
               imagefill($Ress_Dst, 0, 0, $trans_color);
               break;
             }
              // ----------------------------------------------------------
              // REDIMENSIONNEMENT (copie, redimensionne, ré-echantillonne)
             ImageCopyResampled($Ress_Dst, $Ress_Src, 0, 0, 0, 0, $W, $H, $W_Src, $H_Src); 
              // ----------------------------------------------------------
              // ENREGISTREMENT dans le répertoire (avec la fonction appropriée)
             switch ($extension) { 
             case 'jpg':
             case 'jpeg':
               ImageJpeg ($Ress_Dst, $rep_Dst.$img_Dst);
               break;
             case 'png':
               imagepng ($Ress_Dst, $rep_Dst.$img_Dst);
               break;
             }
              // ----------------------------------------------------------
              // libération des ressources-image
             imagedestroy ($Ress_Src);
             imagedestroy ($Ress_Dst);
          }
           // -------------------------------------------------------------
       }
     }
    // --------------------------------------------------------------------------------------------------
      // retourne : 1 (vrai) si le redimensionnement et l enregistrement ont bien eu lieu, sinon rien (false)
      // si le fichier a bien été créé
     if ($condition == 1 && file_exists($rep_Dst.$img_Dst)) { return true; }
     else { return false; }
    }
    // -------------------------------------------------------------------------------------------------- 
     
    $variable1 = (isset($_GET["variable1"])) ? $_GET["variable1"] : NULL;
     
    // Les paramètres :
    // - $Wmax : LARGEUR maxi finale ----> ou 0 : largeur libre
    // - $Hmax : HAUTEUR maxi finale ----> ou 0 : hauteur libre
    // - $rep_Dst : répertoire de l image de Destination (déprotégé) ----> ou '' : même répertoire
    // il faut s'assurer que les droits en écriture ont été donnés au dossier (chmod ou via logiciel FTP)
    // - $img_Dst : NOM de l image de Destination ----> ou '' : même nom que l image Src
    // - $rep_Src : répertoire de l image Source (déprotégé)
    // - $img_Src : NOM de l image Source
     
    if ($variable1) {
        // Faire quelque chose... 
        $variable2 = "tn_".$variable1;  
        $redimOK = fct_redim_image(180,180,'PhoV/',$variable2,'Photos/',$variable1);
        //echo "OK";
    } else {
        echo "FAIL";
    }
    ?>
    exit;
    ?>

  4. #4
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    c'est quoi tout ce binz tu nous par le de asp et tu poste du php

    c'est toujours une mauvais idée que de produire du js en asp ou php. il est beaucoup plus simple clair et efficace de mettre le js dans un fichier js statique.

    mais je crois que le problème est ailleurs
    si j'ai compris tu as un asp qui génère une page qui contient un js qui invoque un php
    tu as donc deux serveur un asp un php.
    as tu fixé les autorisation nécéssaire pour qu'une page de l'un puisse appeler une url de l'autre ?

    A+JYT

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 178
    Par défaut
    1) Non, J'ai un seul serveur mais il accepte les pages .asp et .php, le code est fonctionnel il n'y a pas besoin d'autorisations....

    2) j'utilise toutes ces technologies car j'en ai besoin !

    3) Le problème est que Firefox interprète différemment le code que Chrome, le code fonctionne aussi avec Firefox mais dans l'état actuel je suis obligé d'afficher une alert....

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Ce qu'interprète ff cenest pas l'asp mais le html et js généré.
    Pour comprendre il faudrais boir le code dans le navigateur.
    Dans ff un F12 doit te permettre de le récupérer.
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. firefox asp:table, z-index probleme
    Par Phil_L dans le forum ASP.NET
    Réponses: 1
    Dernier message: 24/07/2007, 20h25
  2. XMLHttpRequest & script ASP
    Par flykev dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/07/2006, 18h59
  3. [C#][1.1]Firefox et asp.net
    Par cybermaxs dans le forum ASP.NET
    Réponses: 3
    Dernier message: 07/06/2006, 09h55
  4. Réponses: 2
    Dernier message: 08/02/2006, 14h11
  5. Xmlhttprequest, problème avec IE... et pas sous Firefox
    Par Saiyan dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 25/01/2006, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo