Получение ошибки перенаправления даже после включения CORS

Я пытаюсь переключить управление на другой маршрут (НЕ следующий маршрут), имеющий путь /getProfile, когда условие не соответствует. Для этого я использую res.redirect()

(Запрос 1: это правильный способ передачи управления от одного маршрутизатора к другому? Если нет, как бы я это сделал?)

Вот код из моего JS на стороне сервера:

app.use(function (req, res, next) {
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
    next();
});

app.use('/getProfile', function (req, res, next) {
  var userName = req.session.userName;
  if(userName && userName != 'undefined'){
        console.log("if");
      next('route');
  } else {
    console.log("else");
    res.redirect("getProfile");
    next('route');
  }
});

app.post('/getProfile', function (req, res, next) {
    //do something
});

Код на стороне клиента:

$scope.getProfile = function(){
loggedInUser=$("input[name='email']").val();
 $http({
    method : "POST",
    url : "http://192.168.43.200:3000/getProfile",
    data: JSON.stringify({userName: loggedInUser}),
    headers: {'Content-Type': 'application/json'}
}).then(function mySuccess(response) {
    //do something
}, function myError(response) {
    //do something
});
}

Но я получаю следующую ошибку, когда нажимаю запрос к /getProfile из браузера:

XMLHttpRequest не может загрузить http://192.168.43.200:3000/getProfile. Ответ на предпечатную проверку недействителен (перенаправление)

Вопрос 2: я делаю что-то не так?

Вопрос 3: Есть ли разница между передачей (я не знаю, как это называется, я уже спрашивал об этом в запросе 1) управления другим маршрутом и перенаправлением?

ПРИМЕЧАНИЕ: я получаю выше ошибка только после введения app.use("*") и перенаправить часть.

Пожалуйста, ответьте на эти вопросы. Я действительно смущен.

0 ответов

Другие вопросы по тегам