Erste Session-Daten in Ajax-call

Hallo, ich bin der Abfrage der Datenbank zu laden, werden alle Elemente basierend auf bestimmten Kriterien, und setzen dieses Ergebnis in der Sitzung als

data = service.getData();
session.setAttribute("data", data);

jetzt versuche ich den Zugriff auf diese Daten über einen Ajax-Aufruf und mein Ajax-call wird serviert von einem anderen servlet dann eher dem Abruf der Daten von der DB.

Ajax-call mit jquery

$.ajax({
    type: "POST",
    url: "/com/tp/AjaxXML.jsp",
    data: ({cmd: "report"}),
    dataType: "xml",
    success: function(xml) {
        $(xml).find('site').each(function(){
            var url = $(this).attr('url');                                  
        });
    }
});

in meinem AjaxXML.jsp

Mache ich

if("report".equals(cmd)){
    List<Object> data = (List<Object>)request.getSession().getAttribute("data");

    if(data == null){
        System.out.println("data is null ");
    }
}

jedes mal, wenn ich erhalte die Daten als null, über den Ajax-Aufruf wie auch immer ich versuchen, Zugriff auf die session-Daten werden normalerweise von mein erstes servlet funktioniert es.

könnte jemand lassen Sie mich wissen, wenn ich etwas falsch?

Ich bemerkte eine Sache, wenn wir session.getId(); und pageContext.getSession().getId();
beide sind der Rückgabe unterschiedliche Id ' s? Ist diese erwartete zu mir, Sie sollte dasselbe sein, das jeder Verschieden auf?

Sie müssen zeigen mehr codes, die Sie umgeben und die beiden Linien der codes, die Sie gebucht haben.
ich denke rest des Codes ist unerheblich, ich möchte nur wissen, ob wir Zugriff auf die Daten festlegen, die in der Sitzung über einen ajax-call?
Ja, Sie können das tun.
Versuchen Sie, mit request.getSession(false) im zweiten Fall.
Möchten Sie vielleicht check this out: stackoverflow.com/questions/5619277/...

InformationsquelleAutor dpsdce | 2011-12-14

Schreibe einen Kommentar