2012-10-07 17 views
7

Powiel możliwe:
How to use Servlets and Ajax?Ajax połączeń w aplikacji klienckiej Java

Używam następujący kod w JavaScript, żeby czyni wywołania 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) { 
       ... 
      } 
     }); 
    } 

bym lubię to robić także w Javie. Zasadniczo chciałbym napisać aplikację klienta Java, która wysyła te dane przez połączenia Ajax do serwera.

Jak zrobić Ajax w Javie?

+0

Co szukasz jest asynchroniczne żądanie w Java? – Prasanth

+0

Cóż, moim problemem jest faktyczna implementacja żądania HTTP post w java. –

Odpowiedz

8

AJAX nie różni się od innych połączeń HTTP. Można w zasadzie POST tego samego adresu URL z Java i nie powinno sprawa o ile serwer docelowy jest zaniepokojony:

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

Powyższy kod jest bardziej lub mniej równoważne wywołaniu jQuery AJAX. Oczywiście musisz zastąpić localhost:8080 rzeczywistą nazwą serwera.

Jeśli potrzebujesz bardziej kompleksowego rozwiązania, weź pod uwagę bibliotekę i dla zestawiania JSON.

Zobacz także

+0

Dziękuję Tomaszowi za odpowiedź. Ale wciąż mam pytanie! Chciałbym wysłać zapytanie do strony http://www.ratsit.se/BC/SearchPerson.aspx. Przeczytałem ich kod części klienta i zrozumiałem, że wysyłają one w następujący sposób: http://codepaste.net/u7qc1o Teraz chciałbym napisać tę prośbę ajaxową w Javie Zrobiłem to, o czym wspomniałeś w odpowiedzi : http://codepaste.net/1rbgpx ale wciąż nic ,, Czy możesz mi pomóc proszę i daj mi znać, co jest nie tak? –

Powiązane problemy