Redirect via/über jQuery.ajax()

messmar

Erfahrenes Mitglied
Hall alle zusammen,

ich versuche anhand eines Ajax Requests (Response komt als JSON zurück) bei einem bestimmten Fall (true), einen
redirect zu erreichen was auch funktioniert.

Bei dem anderen Fall (false), wo ich keinen redirect verwende/brauche, sondern load, funktioniert leider nicht.
Es wird immer weitergeleitet, als wäre es weiterhin der Fall: true.

P.S. ich habe den REsponse über den fireBug gecheckt und es ist false, aber es wird immer der redirect ausgeführt.

Java script Code:

HTML:
$('.mail').blur(function() {
       var m = $('.mail').val();
       var g = "4";
       var url = "checkMember.jsp?locale=de&uEmail=" + m + "&PK=" + g;
       var $container = $('.wrapperError');

      $.getJSON(url, function(data) {
            if (data.isMember) {
                 window.location.href='dateiName_yyyy.jsp?locale=de&member=' + data.isMember + '&email=' + data.uMail;
            }else{
                       $container.load("dateiName_xxxx.jsp", {
                       locale:'de',
                       member:data.isMember,
                        gid:'4'
                    });
           }
     });
});

Der HTML Code:

HTML:
<div class="wrapperContent">
      <h4>Profil bearbeiten</h4>
      <br>
      Bitte geben Sie Ihre eMail-Adresse ein um Ihr Profil zu ändern.
      <br>
      <input type="text" name="" value="" class="mail" />
      <br>
      <span class="wrapperError">
           <%@include file="dateiName_xxxx.jsp" %>
      </span>
            
      <input type="submit" name="anmelden" value="Profil bearbeiten" class="btnAbmelden" />
      <input type="reset" name="abbrechen" value="Abbrechen" class="btnAbbrechen" />
</div>

JSON Format:

HTML:
{
    "isMember":  "${wird dynamisch ausgelesen}", (gibt false oder true zurück)
    "firstName":  "${wird dynamisch ausgelesen}",
    "lastName":  "${wird dynamisch ausgelesen}",
    "uMail":         "${wird dynamisch ausgelesen}",
}

Irgendeine Idee bitte, woran es legen könnte bzw. was man da beachten muss?

Danke & Gruß
Messmar
 
Hi,

danke schon mal.


HTML:
<%@ page contentType="application/json; charset=UTF-8" %>

Aber ich habe vorhin das JSON Format gepostet... und hier was dann auch zurückkommt:
HTML:
{
    "isMember":   "false",
    "firstName":  "firstname",
    "lastName":  "lastname",
    "uMail":  "test_02@test_1_xxxxx.de"
}

Gruß
Messmar
 
Zuletzt bearbeitet:
Achso, Sorry, musste ich überlesen haben.

Der Fehler ist ganz klar, "false" wird als String gesendet, ändere deinen Code so ab:
Javascript:
if (data.isMember !== "false") {
 
Hi,

Danke!

es hat funktioniert, aber ich hatte inzwichen auch ne Lösung gefunden und zwar habe ich den redirect auf die Zielseite, die dann per AJAX geladen wird, gebaut, und die benötigten Parameter mit
weitergereicht... Anhand diesen Paramtern, steure ich dann den Redirect auf die Zielseite:

Fall: true --> go to: xxx.jsp
Fall: false --> got to yyy.jsp

Vielen Dank & Gruß
Messmar
 

Neue Beiträge

Zurück