Ich rufe struts2-Aktion von jquery-ajax auf, die Methode der Aktionsmethode wird ordnungsgemäß aufgerufen, aber leider wird die Aktionserfolgsseite nicht aufgerufen. Die js-Methode ist diejenige, die ich für Google OAuth2.0 verwende.Struts2-Erfolgsseite wird nicht aufgerufen
JS:
function onSignIn(googleUser) {
// Useful data for your client-side scripts:
var profile = googleUser.getBasicProfile();
console.log("ID: " + profile.getId()); // Don't send this directly to your server!
console.log('Full Name: ' + profile.getName());
console.log('Given Name: ' + profile.getGivenName());
console.log('Family Name: ' + profile.getFamilyName());
console.log("Image URL: " + profile.getImageUrl());
console.log("Email: " + profile.getEmail());
// The ID token you need to pass to your backend:
var id_token = googleUser.getAuthResponse().id_token;
console.log("ID Token: " + id_token);
console.log("Request sent through ajax jquery");
$.ajax({
type : "POST",
url : "googlesignup",
data:"idtoken="+id_token,
dataType : "text",
async: false,
// onSuccess:function(){
// console.log("success");
// }
});}
struts.xml:
<action name="googlesignup" class="com.msventure.web.actions.SignUpAction" method="googleSignUp">
<result name="success">/buildprofile.jsp</result>
<result name="fail">/signup.jsp</result>
<result name="index">/signup.jsp</result>
<result name="input">/signup.jsp</result>
</action>
Update:
I i gerade überprüft, bin die Einrichtung Einige Cookie-Werte in der Aktionsmethode, die Cookies werden im Client aktualisiert. Die Antwort vom Erfolg ist jedoch buildprofile.jsp. Sie sollte geändert werden, zeigt aber die letzte Seite an.
Die Antwort auf AJAX geht jetzt zur Fehlerrückruffunktion.
Ihre Vorschläge sehr geschätzt.
Es ist eine Ajax-Anfrage. Wie zeigen Sie die Antwort darauf? –
@Aleksandr M: Ja, ich verstehe das, ich denke, das ist der Grund, warum es sich nicht ändert, ich habe eine Weiterleitung und es funktioniert gut. – coolmego
Was ist der Sinn von Ajax, wenn Sie danach eine Umleitung machen? –