Как изменить URL-адрес ответа функции ajax? - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть функция ajax, которая в случае успеха перенаправляет на ответ, возвращенный из URL:

document.getElementById("button1").addEventListener("click", function (e) {
    e.preventDefault();
    $.ajax({
        url: 'http://localhost:8080/someLoginUrl',
        method: 'GET',
        crossDomain : true,
        xhrFields: {
            withCredentials: false
        },
        success: function(response){
            window.location.href = response;
        }
    });
});

Ответ, который возвращается http://localhost:8080/someLoginUrl - это просто веб-страница, содержащая URL:

Это HTML-код страницы ответа:

<html><head></head><body>https://localhost:8080/anotherLogin</body></html>

Итак, как только я нажимаю кнопку button1, вместо перенаправления на http://localhost:8080/someLoginUrl, он перенаправляет на https://localhost:8080/anotherLogin, что является для меня желаемым поведением. Однако я хочу сделать небольшую манипуляцию с response внутри функции success - я хочу изменить протокол с https на http. Как мне это сделать?

Я пытался response = response.replace('https', 'http');, но это ничего не изменило.

1 Ответ

0 голосов
/ 07 ноября 2018

Может быть, я понимаю ваш вопрос! Вы хотите вашего успеха Данные ответа на ту же страницу, где это действие имело место

Сначала вы должны создать погружение с идентификатором <div id=res_data> </div> и поместить этот div там, где вы хотите показать свои данные ответа.

Тогда Ваш окончательный код будет

document.getElementById("button1").addEventListener("click", function (e) {
  e.preventDefault();
  $.ajax({
  url: 'http://localhost:8080/someLoginUrl',
  method: 'GET',
  crossDomain : true,
  xhrFields: {
  withCredentials: false
  },
 success: function(response){
    $('#res_data').val(response);
 }
 });
});

Настройте меня, если вы не находите это полезным.

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