2016-04-17 14 views
1

Ich entwickle eine Extjs-6 Anwendung. Meine Serveranwendung ist RestFul. Ich muss mich mit Ajax einloggen. Ich sende eine Ajax-Anfrage wie folgt:Cookie nicht korrekt in Extjs Ajax Anfrage

Ext.Ajax.request({ 

    url: 'localhost:8084/Calk/j_spring_security_check', 
    params: {j_username: 'ali', j_password: '123456', 
    method: 'POST', 
    headers: { 
     'Content-Type': 'application/x-www-form-urlencoded' 
    }, 
    success: ..., 
    faiulure: ..., 
}); 

Ergebnis der Anfrage ist wie folgt: enter image description here

Nach Client empfangen 200 OK es ein Geschäft wie folgt lesen:

Ext.define('Calk.store.Calk', { 
    extend: '...', 
    model: '...', 
    proxy: { 
     type: 'ajax', 
     url: 'localhost:8084/Calk/calk/all', 
     withCredentials: true, 
     useDefaultXhrHeader: false, 
     reader: ..., 
     method: 'POST' 
});  

Aber das Ergebnis ist wie folgt: enter image description here

Warum Cookie falsch gesetzt? Wie kann ich es beheben?

+0

Der Cookie ist auf 'localhost/Calk /' Pfad beschränkt, Sie machen einen AJAX-Aufruf von 'localhost/Workspace/Calk /' URL, der ursprüngliche Cookie ist hier nicht sichtbar. Machen Sie Ihr Back-End so, dass keine Einschränkungen für den Cookie-Pfad gelten. – serg

+0

Ich benutze Java im Backend. Ich habe eine Frage an [hier] (http://stackoverflow.com/questions/36594371) gestellt und ich starte 100 Bounty vor 2 Tagen. Ich werde glücklich, wenn Sie beitragen. –

Antwort

1

die folgenden Zeilen in Ext config-Set:

Ext.Ajax.on("beforerequest",function(con){ 
    con.setUseDefaultXhrHeader(false); 
    con.setWithCredentials(true); 
} 

alle AJAX-Anfragen So Cookie senden.