AJAX responseText senden

hugo1981

Erfahrenes Mitglied
Hallo,

ich wollte mich auch einmal an AJAX in Verbindung mit JSP ranwagen. Leider hat es nicht auf Anhieb geklappt.

Die Aufrufende Seite ist eigentlich kein Problem. Mit:
Code:
function makeGetRequest(wordId) {
    //make a connection to the server ... specifying that you intend to make a GET request 
    //to the server. Specifiy the page name and the URL parameters to send
    var buddy = wordId;
	http.open('get', 'tree_op.jsp?id='+wordId);
	
    //assign a handler for the response
    http.onreadystatechange = processResponse;
	
    //actually send the request to the server
    http.send(null);
}

function processResponse() {
    //check if the response has been received from the server
    if(http.readyState == 4){
	
        //read and assign the response from the server
        var response = http.responseText;
		
        //do additional parsing of the response, if needed
		
        //in this case simply assign the response to the contents of the <div> on the page. 
        document.getElementById('second_row').innerHTML = response;
		document.getElementById(buddy).innerHTML += "<br>|";
		
        //If the server returned an error message like a 404 error, that message would be shown within the div tag!!. 
        //So it may be worth doing some basic error before setting the contents of the <div>
    }

Nun weiss ich aber nicht wie ich in der tree_op.jsp die Daten an die Aufrufende Seite als responseText zurücksenden soll
Die tree_op.jsp stellt eine Verbindung zur JavaBeans und einer DB her, und sollte die korrekten daten erhalten. Ich habe aber keine Ahnung, wie ich diese dten (String) an da ursprl. JSP zurückgeben soll...


Für Hilfe wäre ich echt dankbar..
Vielen Dank im Voraus :))

LG,
Hugo
 
Ausgeben einfach mit:

Code:
out.print();
?

irgendwie hab ich das in keinem Tutorail gefunden, wie der Server, oder das aufgerufene JSP reagieren bzw. die Daten liefern muss.. Ich will einfach HTML-Code ausgeben, welches so in das DIV übernommen werden soll...

Irgendwie funtioniert das grad noch nicht.. :(

Aber ich bin Guter Dinge..
Bedanke mich weiterhin im Voraus, für die super Hilfe hier :)
 
oh, ok... :/

Im Quelltext steht ja viel mehr drin als nur der Inhalt im Body-Tag..?
Ich stell mich wahrscheinlich viel zu blöd an..

ich hab eine function geschrieben, die einen String returned.. Aber da weiss ich nun wieder nicht, wie ich aus JSP, automatisch nach dem Laden, ohne ein Link zu betätigen diese Function aufrufen kann..

Hier ist der Code für das aufgerufene JSP tree_op.jsp:
Code:
<jsp:useBean id="friends" class="meineBeans.Friends"/>
<jsp:useBean id="check" class="meineBeans.CheckSession"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Nifty Corners: Javascript and CSS rounded corners</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="HAPedit 3.1">

<script type="text/javascript">

String html = "";

function send(String h){

return h;

}
</script>

</head>

<body>
<%
int param =new Integer(request.getParameter("wordId")).intValue();
String html ="";

 if (friends.getSmallOutput(param)) {
  html = friends.getFriends();
  out.println(friends.getFriends());
  out.println(html);
 }
else {
 html= check.getError();
 }
%>

</body>
</html>
 
Wenn du nen Framework wie z.B. http://www.prototypejs.org verwendest, kannst du mit der Ajax.Update() Funktion (in prototype) ganz einfach ne Seite auf dem Server abfragen und der Text der zurückgegeben wird, wird dann dem Element eingefügt welches als Parameter der Ajax.Update() Funktion übergeben wurde. Finde ich sehr einfach, vor allem muss man sich mit nem korrekten Framework keine Sorgen um den Browser und dessen Version machen (zumindest zum größten Teil).

Wenn ich das jetzt richtig verstanden habe...
 
Hallo Danke für den Tip.. Werde ich mir in Zukunft mal anschauen..Hört sich interessan an, man müsste sich wahrscheinlich doch noch einlesen..

Aber jetzt hat es endlich geklappt :)

Ich war wie befürchtet Blind..
hab bei der Parameterübergabe gepfuscht..

in tree_op.jsp musste es natürlich so heissen:
Code:
int param =new Integer(request.getParameter("id")).intValue();

Vielen Dank für die Hilfe nochmal!! bewertungen abgegeben :)
Hoffentlich hilft das auch anderen Unwissenden :D

lg,
Hugo
 
Zurück