Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Dojo
Dojo Forum d'entraide sur le framework Dojo
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/01/2008, 15h57   #1
Membre régulier
 
Inscription : juin 2005
Messages : 449
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 449
Points : 83
Points : 83
Par défaut Refresh image : HTTP 200 ?

Bonjour à tous,

nouveau problème à vous soumettre :

J'ai une image que je voudrais ré-actualiser en ajax à l'aide d'un bouton.
Cette image est produite par un servlet (les servlet peuvent renvoyer des images au lieu de renvoyer du texte) par le biais d'une balise img ou je met la source pointée sur mon servlet.

Voici ce que j'ai fait :

code ajax :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
function captchaRefreshFunction() {
      // Mettre dans le champ cache du formulaire le contenu de l'editeur
 
      dojo.xhrPost( {
        url: "../jcaptcha", // Programme cote serveur
        handleAs: "image/png",
        timeout: 5000, // Delai d'attente maximal en millisecondes
        load: function(response, ioArgs) { // Reaction si succes
            dojo.byId("captcha").value = response;
            //dojo.byId("captcha").innerHTML = response;
            //return response;
        },
        error: function(response, ioArgs) { // Reaction si echec
            dojo.byId("captcha").innerHTML = "Erreur HTTP " + ioArgs.xhr.status;
            //return response;
        },
        form: "captchaForm"
    });
    }
 
    dojo.addOnLoad(function() {
      dojo.connect(dojo.byId("refreshCaptcha"), "onclick", captchaRefreshFunction);
    });
code html :
Code :
1
2
3
4
5
6
 
<tr>
        <td id="captcha"><img  src="<% out.println(WebAppPath+"/jcaptcha"); %>"></td>
        <td><input type='text' name='j_captcha_response' value=''></td>
    </tr>
    <tr><td>You can't see the picture ? <input type="button" id="refreshCaptcha" value="Click Here" />
A l'appel de la page cela fonctionne très bien, lorsque je clique sur le bouton pour rafraichir l'image il m'affiche le texte suivant en lieu et place de l'image :
'Erreur HTTP 200'.

Je ne comprend pas très bien....


Je vous remercie de vos aides précieuses !!!
samtheh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 13h14   #2
Membre régulier
 
Inscription : juin 2005
Messages : 449
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 449
Points : 83
Points : 83
Je suis désolé de faire remonter ce message mais je cherche désespérément une solution.....

Merci de votre aide !
samtheh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 13h54   #3
Membre régulier
 
Inscription : juin 2005
Messages : 449
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 449
Points : 83
Points : 83
Bon j'ai trouvé une solution ce n'est pas de l'ajax mais cela fonctionne !

voici le code utilisé au cas ou :
Code :
1
2
3
4
5
6
 
function update_img() {
		    theImage = new Image;
    		theImage.src = '../jcaptcha?' + (new Date()).getTime();
    		document.getElementById('captcha').src = theImage.src;
		}
La petite technique c'est qu'il faut rajouter en parametre la date et l'heure ce qui fait que l'adresse change à chaque fois sinon l'image reste en cache du navigateur (au moins sous FF). Voili voilou !
samtheh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h46.


 
 
 
 
Partenaires

Hébergement Web