Обработка запросов перенаправлений в ASP.Net MVC 2 с помощью запросов ajax - PullRequest
0 голосов
/ 13 января 2012

Я разработал приложение ASP.NET MVC2, в котором реализована функция входа в систему.

У меня есть другие представления, в которых есть вызовы ajax. Иногда я нахожу вызовы ajax, отображающие страницу входа.

В попытке избавиться от этой проблемы я попытался смоделировать ситуацию, но код ответа, который я получил из своего приложения, был 200, который равен OK

Я использую ASP.Net MVC2. Почему я получаю 200, где я на самом деле получаю перенаправление на сервер 302 для перенаправления страницы входа из моего текущего представления.

Помоги мне справиться с этой ситуацией.

1 Ответ

1 голос
/ 13 января 2012

Почему я получаю 200, где я должен на самом деле получить сервер 302 перенаправление для перенаправления страницы входа из моего текущего просмотра.

Это потому, что jQuery следует за редиректом, и вы получите 200 и страницу входа. Я бы порекомендовал вам следующую статью , которая иллюстрирует очень элегантный способ настройки ASP.NET для отправки кода состояния 401 для неаутентифицированных запросов, предполагая, что этот запрос был сделан с использованием вызова AJAX. Тогда ваш клиентский код будет выглядеть так:

$.ajax({
    url: '/foo',
    type: 'POST',
    data: { foo: 'bar' },
    statusCode: {
        200: function (data) {
            alert('200: Authenticated');
            // Do whatever you was intending to do
            // in case of success
        },
        401: function (data) {
            alert('401: Unauthenticated');
            // Handle the 401 error here. You can redirect to 
            // the login page using window.location.href
        }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...