turk porno porno escort rokettube
Ergebnis 1 bis 3 von 3

Thema: AJAX Request und abgelaufene Session

  1. #1
    Erfahrener Benutzer
    Registriert seit
    30.09.2010
    Beiträge
    129
    Thanks
    6
    Thanked 3 Times in 1 Post

    Standard AJAX Request und abgelaufene Session

    Hallo,

    ich stehe hier vor einem kleinen Problem: In einem View Script mache ich einen AJAX Request:

    Code:
    <table>
        <thead>
        <tr>
            <th>Kassengruppen</th>
            <th>
                <a class="ym-button ym-success" href="<?php echo $this->url('addaccount', array(
                    'name' => $superAccount->getSuperAccountName(),
                )) ?>">&#x271A;</a>
            </th>
        </tr>
        </thead>
        <tbody>
        <?php
        foreach ($accounts as $key => $account) :
            if ($account->getStatus() == 0) :
                ?>
    <tr>
                    <td><a id="account_<?php echo $key ?>"
    class="account"><?php echo $this->escapeHtml($account->getName()) ?></a>
                    </td>
                    <td>
                        <a class="ym-button ym-success" href="<?php echo $this->url('editaccount', array(
                            'name' => $account->getAccountName(),
                        )) ?>">&#x270E;</a>
                        <a class="ym-button ym-danger"
    href="<?php echo $this->url('deleteaccount', array(
                               'name' => $account->getName(),
                           )) ?>">&#x2718;</a>
                    </td>
                </tr>
                <script>
                    $('#account_<?php echo $key ?>').click(function (event) {
                        event.preventDefault();
                        $(this).attr("href", "<?php echo $this->url('device', array(
                            'accountname' => $account->getAccountName(),
                        )) ?>")
                    })
                </script>
                <?php
            endif;
        endforeach;
        ?>
    </tbody>
    </table>
    Die Action sieht so aus:

    Code:
    public function indexAction()
    {
        if ( ! $this->identity()) {
            return $this->redirect()->toRoute('login');
        }
        $this->flashMessenger()->clearMessages('error');
        $viewModel    = new ViewModel();
        $superAccount = $this->identity();
        $account      = new Account();
        $account->setSuperAccountName($superAccount->getSuperAccountName());
        $accountTable = $this->getAccountTable();
        $accounts     = $accountTable->fetchAll($account);
        $viewModel->setVariables(array(
                                     'superAccount' => $superAccount,
                                     'accounts'     => $accounts,
                                 ));
        
        return $viewModel;
    }
    Code:
    public function deviceAction()
    {
        if ( ! $this->identity()) {
            return $this->redirect()->toRoute('login');
        }
        $superAccount = $this->identity();
        $account      = new Account();
        $accountName  = $this->params()->fromRoute('accountname');
        $account->setSuperAccountName($superAccount->getSuperAccountName());
        $account->setAccountName($accountName);
        if ( ! $this->getAccountTable()->getAccountBySuperAccountNameAndAccountName($account) instanceof Account) {
            $this->redirect()->toRoute('success');
        }
        $device = new Device();
        $device->setAccountName($accountName);
        $devices   = $this->getDeviceTable()->fetchall($device);
        $viewModel = new ViewModel(array(
                                       'devices' => $devices,
                                   ));
        $viewModel->setTerminal(true);
        
        return $viewModel;
    }
    Problem: Wenn ich im obigen View Script auf den ersten Link klicke, der nach dem foreach steht und die Session abgelaufen ist, zeigt er keine Daten sondern das Loginformular. Ich möchte aber nicht das Loginformular als Teil der IndexAction-View sondern die ganze Seite auf das Loginformular umleiten.

    Ich hoffe es ist klar, was ich meine.

    Danke.

  2. #2
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    5.520
    Thanks
    4
    Thanked 356 Times in 287 Posts

    Standard

    Zitat Zitat von Frau Bauer Beitrag anzeigen
    Ich möchte aber nicht das Loginformular als Teil der IndexAction-View sondern die ganze Seite auf das Loginformular umleiten.
    Wenn du dies nicht möchtest, dann programmiere es nicht so.

    Statt umzuleiten, liefere einfach ein Fehlermeldung oder einen Statuscode zurück und dann reagiere entsprechend im JavaScript darauf. Möglich wäre hier ein einfaches Dialogfenster („Modal“) mit dem Hinweis auf die abgelaufene Sitzung und dann die Umleitung.

    (Die Problematik liegt als eher beim JavaScript als im ZF.)
    Zum Zend Framework stehen jedem folgende Quellen zum Nachschlagen zur Verfügung:

  3. The Following User Says Thank You to Kaiuwe For This Useful Post:

    Frau Bauer (06.07.2017)

  4. #3
    Erfahrener Benutzer
    Registriert seit
    30.09.2010
    Beiträge
    129
    Thanks
    6
    Thanked 3 Times in 1 Post

    Standard

    Zitat Zitat von Kaiuwe Beitrag anzeigen
    Wenn du dies nicht möchtest, dann programmiere es nicht so.
    Guter Spruch; aber wahr ;-)

    Zitat Zitat von Kaiuwe Beitrag anzeigen
    Statt umzuleiten, liefere einfach ein Fehlermeldung oder einen Statuscode zurück und dann reagiere entsprechend im JavaScript darauf. Möglich wäre hier ein einfaches Dialogfenster („Modal“) mit dem Hinweis auf die abgelaufene Sitzung und dann die Umleitung.

    (Die Problematik liegt als eher beim JavaScript als im ZF.)
    Danke @Kaiuwe. Sende jetzt einen 401 Response und reagiere im Ajax Request darauf. Das war genau der richtige Denkanstoß.

Ähnliche Themen

  1. Zend_Session und Ajax Request
    Von flod im Forum Javascript + RIA
    Antworten: 9
    Letzter Beitrag: 15.11.2011, 18:21
  2. Session ID wird ständig erneuert / JQuery Ajax Request
    Von andre.ballensiefen im Forum Auth
    Antworten: 1
    Letzter Beitrag: 21.08.2011, 18:07
  3. Zend Form und jQuery Ajax POST Request
    Von TheQ im Forum Formulare
    Antworten: 3
    Letzter Beitrag: 15.06.2011, 13:50
  4. Antworten: 10
    Letzter Beitrag: 01.12.2010, 19:59
  5. AJAX-Request oder JS-lokation
    Von Playa187 im Forum Javascript + RIA
    Antworten: 3
    Letzter Beitrag: 18.08.2010, 16:39

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •