AJAX response conflit
Résolu
Jim
-
Jim -
Jim -
Bonjour,
J'ai un problème avec ma redirection ajax, utilisant response. La redirection fonctionne parfaitement mais, plus tard, quand je dois retourner un booléen avec response, celui-ci retourne la redirection vers launch.html et non pas true ou false.
Voilà le code. Les lignes concernées sont commentées :
J'ai un problème avec ma redirection ajax, utilisant response. La redirection fonctionne parfaitement mais, plus tard, quand je dois retourner un booléen avec response, celui-ci retourne la redirection vers launch.html et non pas true ou false.
Voilà le code. Les lignes concernées sont commentées :
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Worker extends HttpServlet {
private static final long serialVersionUID = 1L;
private static String firstName = "";
private static String lastName = "";
private static boolean doAnimWheel = false;
private static String portion;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// begin recovering form
Worker.firstName = request.getParameter("firstName");
Worker.lastName = request.getParameter("lastName");
response.sendRedirect("launch.html"); // TODO trouver pourquoi cela bloque response
// end recovering form
String param = request.getParameter("srcId");
if(param != null) {
if(param.equals("launch")) {
Worker.doAnimWheel = new Boolean(request.getParameter("doAnimWheel")).booleanValue();
return;
}
else if(param.equals("wheel")) {
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
out.print(Worker.doAnimWheel); // Ici je veux retourner un booléen, mais c'est launch.html qui est retourné
out.flush();
out.close();
return;
}
else if(param.equals("result")) {
Worker.portion = request.getParameter("portion");
Worker.doAnimWheel = new Boolean(request.getParameter("doAnimWheel")).booleanValue();
return;
}
}
}
}
1 réponse
-
C'est bon, j'ai résolu mon problème. J'ai fais ainsi :
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // begin recovering form String form = request.getParameter("form"); if(form != null){ Worker.firstName = request.getParameter("firstName"); Worker.lastName = request.getParameter("lastName"); response.sendRedirect("launch.html"); form = null; } // end recovering form String param = request.getParameter("srcId"); if(param != null) { if(param.equals("launch")) { Worker.doAnimWheel = new Boolean(request.getParameter("doAnimWheel")).booleanValue(); return; } else if(param.equals("wheel")) { response.setContentType("text/plain"); PrintWriter out = response.getWriter(); out.print(Worker.doAnimWheel); out.flush(); out.close(); return; } else if(param.equals("result")) { Worker.portion = request.getParameter("portion"); Worker.doAnimWheel = new Boolean(request.getParameter("doAnimWheel")).booleanValue(); return; } } }