JQuery Ajax läuft nicht asynchton

  • JavaScript

    JQuery Ajax läuft nicht asynchton

    Ahoi,

    so langsam, merke ich dass ich mit JQuery/Javascript wohl mehr Probleme habe als ich dachte.
    Ich habe rufe via Ajax meine ACtion auf, diese soll mir eigentlich nur eine "Pop-Up" öffnen. Die läuft standartmäßig für die "Pop-Ups" auf meiner Seite. Nun will aber von einem Pop-Up ein weiteres aufrufen. Dabei läuft die die Funktion einfach durch und läd die Seite mit dem geforderten Inhalt einfach durch.

    Quellcode

    1. function open_popup()
    2. {
    3. $('#pop-up').css('padding-top', $('header').height());
    4. $('#pop-up').removeClass('hidden');
    5. $.ajax({
    6. type: "POST",
    7. url: $(this).attr('href'),
    8. dataType: "html",
    9. success: function(data){
    10. $('#pop-up').html(data);
    11. popup_subfunctions();
    12. },
    13. error: function(jqXHR, textStatus, errorMessage){
    14. console.log(errorMessage);
    15. }
    16. });
    17. return false;
    18. }


    In meiner Firebug-Konsole bekomme ich kurz einen Fehler angezeigt, kann ich aber nicht lesen, da sich die Seite ja gleich durch läd.
    Normalerweise ist es ja irgendwo ein Syntaxfehler der dazu führt. Der Teil success oder error wird nicht erreicht, somit hilft auch kein breakpoint.
    Mir fällt nun also einfach nicht ein, wonach ich suchen muss wenn ich die Konsole vor dem laden stoppen will, oder mir den Fehler anders anzeigen lassen möchte.

    Hier die function popup_subfunctions(), die im success aufgerufen wird.
    Spoiler anzeigen

    HTML-Quellcode

    1. function popup_subfunctions()
    2. {
    3. $('.closer').click(close_popup);
    4. $('input[type="submit"]').click(function (){
    5. $('.popup-form').submit(send_popup_form());
    6. });
    7. $('.send-form').click(function (){
    8. $('.popup-form').submit(send_popup_form());
    9. });
    10. $('.pop-up-loader').click(function(){
    11. open_popup();
    12. });
    13. }



    Hier die PHP-Action, die aufgerufen wird
    Spoiler anzeigen

    PHP-Quellcode

    1. public function action_forgotPW()
    2. {
    3. try{
    4. $this->auto_render = false;
    5. echo View::factory('user/password');
    6. }catch(Exception $ex)
    7. {
    8. echo View::factory('error')->set('message', 'Bei der Anfrage ist ein Fehler aufgetreten! \n' . $ex->getMessage());
    9. }
    10. }



    und zu guter letzt, der Link von dem aus das Pop-Up aufgerufen werden soll.

    HTML-Quellcode

    1. <a class="pop-up-loader col-sm-6 no-padding" href="./account/forgotPW">Passwort vergessen?</a>


    Vielleicht bin ich auch einfach nur blind und einer von euch findet das Problem.

    Edit: So langsam wird wohl doch nochmal eine genauere Recherche von nöten sein.
    Der Fehler ist der, dass in popup_subfunctions() der Aufruf des Pop-Ups nicht über eine function gebunden werden sollte, sondern direkt an das .click

    HTML-Quellcode

    1. ​$('.pop-up-loader').off('click', open_popup).click(open_popup);

    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Manü“ ()