No al cierre de webs
TreeWeb::Artículos::Google Web Toolkit::Peticiones POST asíncronas
Permalink: http://www.treeweb.es/u/433/ 09/11/2010

Peticiones POST asíncronas

El objeto RequestBuilder sustituye al antiguo HTTPRequest al extender la funcionalidad. El principal contratiempo que obtuve es que PHP no procesa los parámetros get sin la cabecera 'Content-Type: application/x-www-form-urlencoded', así que simplemente añadimos la cabecera y PHP hará el trabajo sucio de procesar los parámetros. Por otro lado, la URL que se indica puede ser tanto absoluta como relativa, por ejemplo, si el servidor está alojado en http://www.midominio.com/, en el navegador tenemos cargada la dirección http://www.midominio.com/gwt/index.html y queremos acceder mediante ajax al fichero que se encuentra en http://www.midominio.com/ajax/fichero.php tenemos varias alternativas:
  • Absoluta: http://www.midominio.com/ajax/fichero.php
  • Relativa respecto del dominio: /ajax/fichero.php
  • Relativa respecto del directorio actual: ../ajax/fichero.php
    RequestBuilder rc = new RequestBuilder(RequestBuilder.POST, "/api/login.php"); rc.setRequestData("login="+login_login.getText()+"&password="+login_password.getText()); rc.setHeader("Content-Type","application/x-www-form-urlencoded"); rc.setCallback(new RequestCallback() { @Override public void onResponseReceived(Request request, Response response) { // TODO Auto-generated method stub Window.alert(response.getText()); } @Override public void onError(Request request, Throwable exception) { // TODO Auto-generated method stub } }); try { rc.send(); } catch (RequestException e) { // TODO Auto-generated catch block e.printStackTrace(); }