2012-10-07 12 views
7

Eventuali duplicati:
How to use Servlets and Ajax?Ajax chiamata in un'applicazione client Java

Sto usando il seguente codice nel Javascript per effettua una chiamata Ajax:

function getPersonDataFromServer() { 
     $.ajax({ 
      type: "POST", 
      timeout: 30000, 
      url: "SearchPerson.aspx/PersonSearch", 
      data: "{ 'fNamn' : '" + stringData + "'}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (msg) { 
       ... 
      } 
     }); 
    } 

lo farei piace farlo anche in Java. Fondamentalmente, vorrei scrivere un'applicazione client Java che invii questi dati tramite le chiamate Ajax al server.

Come si fa Ajax in Java?

+0

Quello che state cercando è richiesta asincrona in java? – Prasanth

+0

Bene, il mio problema è l'effettiva implementazione di questa richiesta post HTTP in java. –

risposta

8

AJAX non è diverso da qualsiasi altra chiamata HTTP. Si può sostanzialmente pubblicare lo stesso URL da Java e non dovrebbe importa quanto il server di destinazione è interessato:

final URL url = new URL("http://localhost:8080/SearchPerson.aspx/PersonSearch"); 
final URLConnection urlConnection = url.openConnection(); 
urlConnection.setDoOutput(true); 
urlConnection.setRequestProperty("Content-Type", "application/json; charset=utf-8"); 
urlConnection.connect(); 
final OutputStream outputStream = urlConnection.getOutputStream(); 
outputStream.write(("{\"fNamn\": \"" + stringData + "\"}").getBytes("UTF-8")); 
outputStream.flush(); 
final InputStream inputStream = urlConnection.getInputStream(); 

Il codice di cui sopra è più o meno equivalente alla vostra chiamata jQuery AJAX. Ovviamente è necessario sostituire localhost:8080 con il nome del server effettivo.

Se è necessaria una soluzione più completa, prendere in considerazione la libreria e per il marshalling JSON.

Vedi anche

+0

Grazie Tomasz per la tua risposta. Ma ancora, ho una domanda! Vorrei inviare la richiesta al sito http://www.ratsit.se/BC/SearchPerson.aspx. Ho letto il codice cliente e ho capito che stanno inviando il seguente modo: http://codepaste.net/u7qc1o Ora vorrei scrivere questa richiesta ajax in Java Ho fatto le cose che hai menzionato nella risposta : http://codepaste.net/1rbgpx ma ancora nulla ,,, puoi aiutarmi per favore e fammi sapere cosa c'è che non va? –