Перенаправление не работает после ajax post call, что не получается? - PullRequest
0 голосов
/ 13 января 2019

Я пытаюсь перенаправить в другое представление после вызова ajax, но это не работает.

Вызов ajax работает, но когда он достигает линии перенаправления, он просто не работает и перенаправляет на домашнюю страницу.

Это мой вызов ajax:

<script type="text/javascript">
    function feedback(ofertaId){            
        $.ajax({
            type : "POST",
            url : 'mensaje/mensajeFeedback.do',
            contentType: 'application/json; charset=utf-8',
            data: JSON.stringify({'ofertaId': ofertaId}),
            async: false,
            cache: false,
            success: function(callback){            
                if(localStorage.getItem("language") == "en"){
                    alert("Your mentor has been notified successfully");
                }else{
                    alert("Su tutor ha sido notificado correctamente");
                }
                window.location.href = "alumno/practicas.do";

            },
            error: function (xhr) {
                alert('Error ' + xhr.status);
            }
        });
    };
</script>

Я понятия не имею, почему он перенаправляет на homepagwe вместо "alumno / Practicas.do", поскольку я делал то же самое в других вызовах ajax. Есть идеи?

EDIT:

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

Ответы [ 2 ]

0 голосов
/ 13 января 2019

Обычно я использую абсолютный путь для перенаправления в JavaScript.

как это:

var loc = window.location.origin + "/" + window.location.pathname.split('/')[1] + "/alumno/practicas.do"
location.replace(loc)

и всегда работает нормально.

0 голосов
/ 13 января 2019

Возможно, существует серверный компонент, который перенаправляет неправильно.

Вы можете полностью диагностировать это следующим образом:

  1. Открыть инструменты разработчика Chrome (F12)
  2. Перейти на вкладку сети
  3. Включить "сохранить журнал"

enter image description here 4. Проверьте сетевой журнал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...