Дилемма перенаправления Ajax, как получить URL перенаправления ИЛИ как установить свойства для запроса перенаправления

Во-первых, я работаю в Google Chrome, если это помогает. Вот поведение:

Я отправляю xhr запрос с помощью jQuery на удаленный сайт (это - хромовое Расширение, и я установил все настройки перекрестного сайта...):

$.ajax({
    type: "POST",
    contentType : "text/xml",
    url: some_url,
    data: some_xml,
    username: user,
    password: pass,
    success: function(data,status,xhr){
        alert(data);
    },
    error: function(xhr, status, error){
        alert(xhr.status);
    }
});

URL, который устанавливается, возвращает 302 (это ожидается), и Chrome следует за перенаправлением (также ожидаемый).

Новый URL возвращает подсказку для учетных данных, которые не вытягивают от исходного запроса, таким образом, Chrome показывает диалоговое окно входа в систему. Если я вставил исходные учетные данные, я возвращаю ответ об отправленном неверном запросе (это - действительный Запрос HTTP - 200 - удаленному серверу просто не нравится один из заголовков).

При просмотре окна разработчика в Chrome существует два отправленные запроса. Первое к исходному URL со всем набором настроек в запросе Ajax. Второе к URL перенаправления, с методом "ДОБИРАЮТСЯ", ничто от поля "POST" и никаких учетных данных.

Я в замешательстве относительно того, что я могу сделать. Я любой должен:

  1. Получите URL перенаправления, таким образом, я могу отправить второй запрос (xhr.getResponseHeader("Location") НЕ работает),

  2. Имейте новый запрос перенаправления, сохраняют настройки от исходного запроса, или

  3. Получите заключительный URL, что ошибка прибыла из того, таким образом, я могу отправить другой запрос.

Идеально я не хочу, чтобы пользователь должен был вставить их учетные данные во второй раз в этом диалоговом окне, но я возьму то, что я могу получить, если я могу просто получить заключительный URL.

22
задан Anthony 3 July 2014 в 00:21
поделиться

1 ответ

К сожалению, нет способа предотвратить автоматическое отслеживание перенаправлений xhr или установить учетные данные для места назначения перенаправления (в любом случае это было бы небезопасно, поскольку это позволило бы первому сайту перенаправить учетные данные на любой сайт , а не только тот, который вы хотите получить).

0
ответ дан 29 November 2019 в 05:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: