ФорумПрограммированиеJavaScript → Read HTTP header

Read HTTP header

  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 18 декабря 2011 г. 9:11

    Помогите нубу!
    Надо передать скрытую информацию в заголовке запроса. На сервере делаем header(трампампам), а теперь надо получить эти данные на клиенте джаваскриптом. Как? Хотелось бы знать и jquery-метод и нативный. По возможности.

    Гугль упорно выдает мне как добыть заголовок из нового запроса XMLHttpRequest, а мне надо прочитать заголовки ЭТОЙ страницы, которую я уже получил.
    ιιlllιlllι унц-унц
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 18 декабря 2011 г. 9:32, спустя 21 минуту 31 секунду

    Все обосрались?

    Вот это поясняет что мне надо:

    <?php

    header('Content-type: text/html; charset=utf-8');
    header('X-my-own: abracadabra'); // It should be Request ID or some sort of
    ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <script type="text/javascript">
    function showme()
    {
    if(window.XMLHttpRequest) {
    http = new XMLHttpRequest();
    } else if(window.ActiveXObject) {
    http = new ActiveXObject("Msxml2.XMLHTTP");
    }
    http.open('HEAD', location.href, false);
    http.send();
    alert(http.getResponseHeader('X-my-own'))
    }
    </script>
    </head>
    <body onload="showme()">
    Hello!
    </body>
    </html>


    Не устраивает то, что это будет новый запрос к этой же странице. И данные там будут новые, а не те, что я хотел увидеть.
    ιιlllιlllι унц-унц
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 18 декабря 2011 г. 11:04, спустя 1 час 31 минуту 46 секунд

    я понел что нужно, но ответа не знаю.
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 18 декабря 2011 г. 11:10, спустя 6 минут 21 секунду

    спасибо за понимание
    ιιlllιlllι унц-унц
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 18 декабря 2011 г. 12:18, спустя 1 час 7 минут 40 секунд

    Запросить себя же через XMLHttpRequest :)
    И поиграться с настройками кэша, чтобы он ответ брал сразу оттуда )
    Спустя 201 сек.
    и использовать метод "HEAD"
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 18 декабря 2011 г. 12:22, спустя 4 минуты 13 секунд

    и использовать метод "HEAD"

    это должна быть изначально поддержка на уровне приложения, разве нет?
  • vasa_c

    Сообщения: 3131 Репутация: N Группа: в ухо

    Spritz 18 декабря 2011 г. 12:28, спустя 6 минут 4 секунды

    нет, просто сервер обрежет тело ответа
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 18 декабря 2011 г. 13:51, спустя 1 час 23 минуты 21 секунду

    никогда не слышал чтоб так делали. единственное что могу предложить - писать в куки, в клиенте читать их джаваскриптом и стирать сразу после прочтения.
    не всё полезно, что в swap полезло
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 18 декабря 2011 г. 13:58, спустя 6 минут 6 секунд

    я склоняюсь к мнению, что мастер правду говорит. Еще можно просто поменять модель на клиенте, т.е. запрос заголовков страницы (тут как бы уже не всей страницы, а куска) происходит не на этой страницы, а на той, что была до этого (надеюсь понятно)))
  • mathete

    Сообщения: 435 Репутация: N Группа: Джедаи

    Spritz 18 декабря 2011 г. 15:47, спустя 1 час 49 минут 45 секунд

    У меня серия глупых вопросов:
    А почему именно в заголовке? Почему просто в страницу не вставить? Зачем такие усложнения?
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 18 декабря 2011 г. 18:44, спустя 2 часа 56 минут 28 секунд

    mathete, это упрощение, а не усложнение. Не в странице хотя бы потому, чтобы не трогать шаблоны, не передавать туда переменную, которой не будет на продакшене, чтобы делать это в одном месте — на старте приложения.
    Ну в общем достаточно одного — потому что я так хочу и это технически возможно. Кто сказал HEAD? Смотрите пример, там так и стоит. Но это отдельный запрос со всеми вытекающими.
    С куками в общем тоже можно.
    ιιlllιlllι унц-унц
  • mathete

    Сообщения: 435 Репутация: N Группа: Джедаи

    Spritz 18 декабря 2011 г. 20:09, спустя 1 час 25 минут 32 секунды


    Ну в общем достаточно одного — потому что я так хочу и это технически возможно.


    Хотеть то конечно можно… Только вот с чего это взято, что технически это возможно? Из js доступен только Window, да DOM, а W3C походу не прописали, куда в DOM или window браузер должен засунуть кастомные хедеры. Куки написано куда, реферер тоже, ну и ещё чуть-чуть.

    Конечно, может быть, в какой-нибудь Опере и есть, что-нибудь типа window.location.headersOnlyInOperaWork. Но это максимум на что можно рассчитывать.
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 18 декабря 2011 г. 20:18, спустя 8 минут 37 секунд

    Надежда родилась из того факта, что файрбаг эту информацию видит. (Хотя возможно файрбаговые скрипты работают в другом контексте.)
    Далее захотелось сделать свою дебаг-консоль на гризманки. Для пользователя страница выглядит обычно, пусть даже он под миксроскопом ее рассматривает, а мои личные скрипты могу по известному ID вытащить дополнительную инфу. Вот суть идеи.

    Если не получается решить задачу в лоб, воспользуюсь куками или meta тегом, но для начала хочу точно знать насколько возможно работать с кастом-хидерами.
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 18 декабря 2011 г. 23:41, спустя 3 часа 23 минуты 28 секунд

    firephp? не?
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 19 декабря 2011 г. 7:41, спустя 8 часов 3 секунды

    есть еще firelog. но! я не хочу сами логи прокачивать вместе со страничкой. мне хватило бы ид запроса, а дальше мой клиентский js (гризманки) всего-то должен создать правильную ссылку с ид на страничку статистики. так я могу уйти от привязки к FF+firebug.
    ιιlllιlllι унц-унц

Пожалуйста, авторизуйтесь, чтобы написать комментарий!