Gast: response von JQuery

Hallo,

ich rufe mit die test.jsp und speichere ein paar variablen die ich in meiner callback function auslesen will.

index.jsp
$.post("test.jsp", {par1: var1}, function(data){
console.log(data[1]);});

test.jsp

<%
String text1 = "Text1";
String text2 = "Text2";

out.print(text1);
out.print(text2);
%>

So wie der Code oben steht funktioniert es nicht, bz. nur leeres Console.log.
Wenn nur console.log(data) dasteht, also ohne eckige Klammer, dann werden mit beide werte angezeigt. Wie kann ich aber in meiner console.log auf z.b. nur text2 zugreifen die ich in test.jsp definiere?

  1. Hallo,

    test.jsp
    <%
    String text1 = "Text1";
    String text2 = "Text2";

    out.print(text1);
    out.print(text2);
    %>

    So wie der Code oben steht funktioniert es nicht, bz. nur leeres Console.log.
    Wenn nur console.log(data) dasteht, also ohne eckige Klammer, dann werden mit beide werte angezeigt. Wie kann ich aber in meiner console.log auf z.b. nur text2 zugreifen die ich in test.jsp definiere?

    vermutlich wäre es eine gute Idee, anstelle einfachen Textes Daten im JSON-Format zurückzugeben. JSON-Unterstützung für Java gibt's auch.

    Freundliche Grüße

    Vinzenz

  2. Wie kann ich aber in meiner console.log auf z.b. nur text2 zugreifen die ich in test.jsp definiere?

    data ist der erst einmal der String, den der Server zurückgibt. Da steht vermutlich drin:

    »text1
    text2
    «

    (falls out.print Zeilenumbrüche erzeugt)

    oder gar

    »text1text2«

    (falls out.print keine Zeilenumbrüche erzeugt)

    Also musst du dir eine Möglichkeit überlegen, wie du die Werte trennst.

    Das kann irgendein geeignetes Trennzeichen sein, das nicht in den beiden Werten vorkommt, etwa ein Zeilenumbruch. In JavaScript kannst du dann data.http://de.selfhtml.org/javascript/objekte/string.htm#split@title=split('\n') aufrufen, welches dir einen Array mit den beiden Werten zurückgibt, genau wie es ['text1', 'text2'] erzeugt. data[0] würde dir dann »text1« liefern.

    Sicherer und vielseitiger ist die Verwendung des JSON-Formates zur Übertragung von komplexeren Datenstrukturen vom Server zum JavaScript im Browser.

    Mathias