Czy ktoś może mi powiedzieć, jak wyodrębnić ciąg zwracany przez klasę akcji Struts z odpowiedzi AJAX? Poniżej jest mój urywek kodu:Uzyskaj zwykły tekst z XMLHttpRequest responseText
JS wywołanie:
xmlhttp=new XMLHttpRequest();
xmlhttp.open('POST', 'getMessage.do', false);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send();
alert(xmlhttp.responseText);
Struts.xml
<action name="getMessage" class="SampleAction" method="getMessage"/>
Action
public String getMessage() {
String msg = null;
HttpSession hSession = this.request.getSession(false);
if(null != hSession) {
if(null != hSession.getAttribute("user")) {
User user = (User) hSession.getAttribute("user");
if(null != user.account) {
msg = user.account.getMessage(); //Sample message
}
}
}
return msg;
}
Po wydrukowaniu tekstu odpowiedzi (przy użyciu alertu) wydrukowano wiadomość zawierającą wszystkie informacje HTML. Rzeczywista wiadomość jest pogrubione
komunikat odpowiedzi
html> head> title> Apache Tomcat/5.0.28 - Błąd raport/title> style> - {font-family: Tahoma, Arial, sans-serif, kolor: biały, kolor tła: # 525D76; rozmiar czcionki: 22px;} H2 {rodzina czcionek: Tahoma, Arial, sans-serif, kolor: biały, kolor tła: # 525D76; rozmiar czcionki : 16px;} H3 {rodzina czcionek: Tahoma, Arial, sans-serif, kolor: biały, kolor tła: # 525D76; rozmiar czcionki: 14px;} BODY {rodzina czcionek: Tahoma, Arial, sans-serif; kolor: czarny; tło-kolor: biały;} B {rodzina czcionek: Tahoma, Arial, sans-serif; kolor: biały; tło-kolor: # 525D76;} P {rodzina czcionek: Tahoma, Arial, sans-serif tło: biały, kolor: czarny; rozmiar czcionki: 12 pikseli;} A {color: black;} A.name {color: black;} HR {color: # 525D76;} ->/style>/head> body >> HTTP Status 404 - Brak wyniku zdefiniowanego dla działania com.sample.SampleAction $$ EnhancerByCGLIB $$ 69b4e30e i wynik Przykładowy komunikat HR size = "1" noshade = "noshade"> p> b> type/b> Raport o stanie/p> p> b> wiadomość u> Brak zdefiniowanego wyniku dla działania com.sample.SampleAction $$ EnhancerByCGLIB $$ 69b4e30e i wynik Przykładowy komunikat/u>/p> p> b> opis/b> u> Żądany zasób (brak wyników zdefiniowanych dla działania com.sample.SampleAction $$ EnhancerByCGLIB $$ 69b4e30e i wynik Przykładowy komunikat) jest niedostępny./u>/p>HR size = "1" noshade = "noshade"> h3> Apache Tomcat/5.0.28/h3>/body> html>
Pokaż nam próbkę wyjścia HTML i wskaż, który ciąg znaków chcesz pobrać. Potem możemy napisać dla ciebie kod. – L0j1k