Bonjour,
Je n'arrive pas à faire communiquer le client avec le serveur via AJAX vers une servlet. Je n'arrive pas à déterminer si mon erreur viens du script AJAX ou de ma servlet :s. J'utilise le framework prototype.js.
Les urls qui sont sités sont actives via le net si vous vouliez vérifier par vous meme et avoir un peu plus de code
Du code sera peut-etre plus parlant :
J'ai essayé 2 choses pour le nom de la fonction success ( success="nomFonction" et success=nomFonction) ->aucune différence
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 /** * param -> string sous forme xml * success -> nom de la fonction a executé */ function sendAction(param,success) { new Ajax.Request("http://psylox.no-ip.org:8080/psylox/Liaison",{method:'post',asynchronous:false,onFailure:failed,onSuccess:afficherListe,postBody:'param='+param}); }
si je rentre directement l'url de la servlet dans mon navigateur j'obtiens une erreur NullPointer.. ce qui est normal vu que je ne passe pas de paramatres, mais cela montre que le nom est bon.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 /** * url-mapping -> http://psylox.no-ip.org:8080/psylox/Liaison */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String xmlOut = this.controleur.newRequest(request.getParameter("param")); response.setContentType("text/xml"); response.setHeader("Cache-Control", "no-cache"); response.getWriter().write(xmlOut); }
Cas de départ la fonction onsuccess correspond à cela, mais aucun alert n'est appelé d'où mon interrogation à savoir si AJAX appel bien mon servlet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function afficherListe(obj) { alert("test"); alert(obj.responseText); ... }
Pour résumer après l'appel Ajax.Request(..) il ne se passe rien, si vous voyez une erreur, merci beaucoup d'avance.
Partager