Аякс и статус 302 - PullRequest
       35

Аякс и статус 302

2 голосов
/ 10 июня 2011

У меня проблема с ajax (и / или jQuery ajax) и состоянием 302.

Это то, что я пытаюсь:

var xhr = new XMLHttpRequest();
xhr.open("GET", 'some_page_that_I_cant_change.php');
xhr.onreadystatechange = function(){
    console.log(xhr.readyState, xhr.status);
};
xhr.send(null);

some_page_that_I_cant_change.php перенаправляет на.bin с кодом 302.Я не хочу скачивать этот файл, я просто хочу знать путь к файлу.Пример:

./some_page_that_I_cant_change.php
./path/to/bin/file.bin << I wan't only this path as string

Проблема в том, что Chrome автоматически перенаправляет в файл, не указывая мне путь к скрипту.Есть ли обходной путь для этого?

Ответы [ 3 ]

2 голосов
/ 10 июня 2011

Если вы используете запрос HEAD вместо запроса GET, я подозреваю, что он будет делать то, что вы хотите. Вы должны видеть только заголовки в ответе, а не тело ответа (т. Е. Нет загрузки .bin).

0 голосов
/ 27 ноября 2013

Одним словом: я не думаю, что вы можете сделать это причиной протокола HTTP. Протокол HTTP ([1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) предусматривает 302 означает URI перенаправления, и браузеры следуют. Итак, javascript не может получить ответ перенаправления, просто получить окончательный ответ.

Итак, у вас естьполучить путь по телу ответа.

0 голосов
/ 21 июня 2011

Существует старая ветка о точно такой же теме с решениями и обходными путями: Как управлять запросом на перенаправление после вызова jQuery Ajax

...