За последние 24 часа нас посетили 36564 программиста и 1301 робот. Сейчас ищут 900 программистов ...

$.getJSON

Тема в разделе "JavaScript и AJAX", создана пользователем Slavka, 10 окт 2013.

  1. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    Доброе $время_суток
    чтото я немного запутался - суть
    с сервера пользователь кнопкой читает данные. Если пользователь отходит - то через 20 минут сессия закрывается и сервер редиректит (302 ) на страничку аутентификации
    так вот - если нажать на кнопку то пользователю по ссылке не возвращается ничего кроме посыла .. как заставить браузер обновить страничку при редиректе ?
    делаю так -

    $.getJSON("link.php", function(data,status){
    console.log(status );
    if (status == 'sucess' ) {
    alert ("все ок");
    }
    else
    { alert ('сбой');
    location.reload(); }

    но почемуто не хочет заходить в else
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    а как ты на серверной стороне сигналишь "неуспех"?
     
  3. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    вот чего я с сервака сигналю =)
    else header('Location: /login.php');
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    п.м.с.м. это нифига не неуспех ))) дай 404 или 403
    на всякий случай поясню: я говорю по тот URL, который ты запрашиваешь по ajax, на ответ которого у тебя callback и про который ты проверяешь текстовый status. твой редирект выводит на страницу со статусом 200, это "успех".
     
  5. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    я смотрю фаербугом чего мне возвращает сервак =)
    -------Все нормально - дает 200 ---
    success // ответ сервака - который в консоле лог пишет

    GET http://web-srv/link.php - 200 OK

    -------умерла сессия - дает 302 ---
    //sucess уже нету
    GET http://web-srv/link.php - 302 Found

    GET http://web-srv.local/login.php - 200 OK
    -------умерла сессия - даем 403---
    //sucess уже нету
    GET http://web-srv/link.php - 403 Forbidden
    "NetworkError: 403 Forbidden - http://web-srv/link.php

    и при 403 - нет редиректа

    и ни при 1 пока не зашло в else :(

    Добавлено спустя 14 минут 48 секунд:
    Все сделал - как обычно ларчик просто открывался
    $.getJSON("link.php", function(data){
    alert ("все ок");
    })
    .fail(function() {
    alert ('сбой');
    location.reload();
    });

    Вот что значит придти домой спокойно сесть подумать .. и сделать а на работе все отвлекают..отвлекают