2012-10-07 3 views
7

Mögliche Duplizieren:
How to use Servlets and Ajax?Aufruf Ajax in Java-Client-Anwendung

Ich verwende den folgenden Code in Javascript macht einen Anruf 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) { 
       ... 
      } 
     }); 
    } 

würde ich gerne auch in Java. Grundsätzlich möchte ich eine Java-Client-Anwendung schreiben, die diese Daten über Ajax-Aufrufe an den Server sendet.

Wie mache ich Ajax in Java?

+0

Was Sie für asynchrone Anforderung ist in Java suchen? – Prasanth

+0

Nun, mein Problem ist die tatsächliche Implementierung dieser HTTP-Post-Anfrage in Java. –

Antwort

8

AJAX unterscheidet sich nicht von anderen HTTP-Anrufen. Sie können im Grunde die gleiche URL von Java Post und es sollte keine Rolle spielen, so weit das Zielserver betroffen ist:

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(); 

Der obige Code ist mehr oder weniger gleich Ihren jQuery AJAX-Aufruf. Natürlich müssen Sie localhost:8080 durch den tatsächlichen Servernamen ersetzen.

Wenn Sie eine umfassendere Lösung benötigen, können Sie die Bibliotheken und für das JSON-Marshalling in Betracht ziehen.

Siehe auch

+0

Vielen Dank Tomasz für Ihre Antwort. Aber trotzdem habe ich eine Frage! Ich möchte die Anfrage an http://www.ratsit.se/BC/SearchPerson.aspx Website senden. Ich habe ihren Client-Teil Code gelesen und verstanden, dass sie in der folgenden Weise senden: http://codepaste.net/u7qc1o Jetzt möchte ich diese Ajax-Anfrage in Java schreiben Ich habe die Dinge, die Sie in der Antwort erwähnt : http://codepaste.net/1rbgpx aber immer noch nichts ,,, Können Sie mir bitte helfen und lassen Sie mich wissen, was los ist? –