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 : 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
 
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 !!!