Je ne sais pas si mon titre était peut-être un peu trompeur. Mais voici ce pour quoi j'ai vraiment besoin d'aide.
Je fais une entrée sur cette url :
$.get("/fb/login/"+fbEmail, function(data){
console.log(data);
});
C'est mon itinéraire :
GET /fb/login/:email presentation.controllers.Auth.authenticateSocialNetwork(email:String)
Et voici mon action :
def authenticateSocialNetwork(email:String) = Action {
if(!editorRepo.getEditorByEmail(email).isEmpty){
Redirect(routes.Profile.editorProfile).withSession(Security.username -> email)
} else {
Redirect(routes.Profile.initiatorProfile).withSession(Security.username -> email)
}
}
Je m'attends à ce que mon action obtienne appelé et les feux de ce qu'il y a dedans. En d'autres termes, Redirection de .
Mais ce qui se passe réellement, et qui n'est pas si illogique, c'est que mon appel $.get reçoit une réponse avec ma redirection.
Comment puis-je réellement appelez mon action-méthode, sans envoyer une réponse à javascript ?
Voici ma fonction en javascript, je poste ce snippet pour qu'il soit plus clair dans notre discussion dans les commentaires ci-dessus.
function addClickToLoginButtons(){
$("#loginWithFb").click(function(){
FB.login(function(response){
if(response.authResponse){
FB.api('/me', function(response){
var fbEmail = response.email;
$.get("/fb/isRegisteredAtNetwork/"+fbEmail+"/facebook", function(data){
if(data == "true"){
if(confirm("Do you want to log with facebook-account "+fbEmail+"?")){
$.get("/fb/login/"+fbEmail, function(data){ *//HERE'S WHERE I WOULD WANT TO CALL MY METHOD IN SCALA*
console.log(data);
});
} else {
console.log("try again with a different facebook-account");
} //end confirm else
} else {
console.log("Logged in not in database");
}//end get else
});
});
} else {
console.log("permission not granted");
} // end authResponse else
}, {scope: 'email'});
});
}