Making POST requests with parameters in GWT
20,438
Solution 1
Set the header of your request:
builder.setHeader("Content-type", "application/x-www-form-urlencoded");
Solution 2
This should already work - but when using POST, you'll have to read the submitted data differently in your Servlet (I assume, you're using Java on the server side?)
You could try it with a Servlet like this:
public class MyServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println(req.getReader().readLine());
}
}
Of course, you can copy the contents of req.getReader()
or req.getInputStream()
to your own buffer or string etc.
Author by
Lenz
Updated on November 27, 2020Comments
-
Lenz over 3 years
I am trying to do a POST request with a set of parameters to a given URL. The problem I am having is that the POST request is made, but no parameters are passed.
RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url); StringBuilder sb = new StringBuilder(); for ( String k: parmsRequest.keySet() ) { String vx = URL.encodeComponent( parmsRequest.get(k)); if ( sb.length() > 0 ) { sb.append("&"); } sb.append(k).append("=").append(vx); } try { Request response = builder.sendRequest( sb.toString(), new RequestCallback() { public void onError(Request request, Throwable exception) {} public void onResponseReceived(Request request, Response response) {} }); } catch (RequestException e) {} }
This works just fine if I use mode GET and manually add the querystring to the request - but I need to use POST as the data to be passed along may be large....
-
Lenz over 13 yearsThanks! My acceptor servlet was not working without.... never would have thought about that! Thanks!