перенаправление страницы обработки AJAX - PullRequest
0 голосов
/ 26 августа 2011

У меня есть страница, которая проверяет, вошел ли пользователь в систему и использует ли он jQuery ajax для обработки страницы php, чтобы получить информацию. Но чтобы получить информацию, ее нужно перенаправить на «сайт входа в систему», который находится на другом сервере, и «сайт входа в систему» ​​затем отправляет обратно информацию для входа на страницу php, а страница php превращает необработанные данные в нечто первая страница может понять.

Ну, по крайней мере, так и должно быть.

Что действительно происходит, так это то, что после перенаправления страницы обработки php я получаю ошибку 302. Я попытался зайти на страницу php без вызова ajax, и она работает нормально, перенаправляя на «сайт входа в систему» ​​и принимая сообщение обратно.

Я не могу удалить ajax-вызов и просто закодировать отскок на первой странице, потому что страница html, к сожалению, она должна оставаться такой, а html-страницы не любят POST-ы к ним и вылетают.

Ниже приведен код с вызовом ajax ...

if (Login == null) {
    $.get("some_php_page.php", {  }, function(data) {
        if (data == "") {

        } else {
        //set login cookie;
        }
    });
}

Ниже приведена страница обработки php ...

if ($RefererServer != LoginServer) {
    header( "Location: LoginServer/verify.php");
} else {
    // send login information back
}

У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 24 декабря 2014
  • На стороне сервера вы должны вернуть json:

    {"success: false," redirect ": http://redirecturl.com}

  • На стороне клиента редирект осуществляется js

    $.ajax({
        // ....
        success: function(response){
            window.location = response.redirect;
        }
    });
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...