Как бы вы передавали HTTP-заголовки, используя стандартный тег привязки? - PullRequest
8 голосов
/ 29 сентября 2011

В соответствии с ссылкой HTML4 нет атрибута для передачи заголовков HTTP с помощью тега привязки.

Я хотел бы предложить ссылку для запроса определенного типа файла с использованием Accept header.

Единственный способ, которым я могу видеть, - просто позволить этому быть и передать параметр GET.

Вы можете как , почему Я бы хотел сделатьэто ... Я намереваюсь представить несколько методов в качестве общедоступного API, который будет отображать результаты JSON.И при выполнении запросов с использованием JavaScript или другого языка программирования, использование заголовка Accept для запроса определенного формата ответа - «Правильный путь», чтобы сделать это.Но это означало бы, что мне нужно разместить в моем коде как Accept header , так и GET параметр, который пахнет дублированием логики.

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

Ответы [ 3 ]

3 голосов
/ 29 сентября 2011

Я не вижу другого способа, кроме использования параметра GET или расширения, например

http://myurl/page?format=json

или лучше

http://myurl/page.json

Переопределяет заголовок принятия (поскольку браузер отправляет только заголовок принятия по умолчанию).Тогда вам просто нужно инициализировать формат для принятия сопоставления заголовков, как это (что я не нахожу дублирующую логику вообще):

{
    "json" : "application/json",
    "html" : "text/html"
}
0 голосов
/ 29 сентября 2011

Хм, похоже, если ваши результаты в формате JSON, вы все равно будете отправлять / получать из скрипта, который может предоставить любой заголовок, который вы хотите. Просто сделайте так, чтобы ваша ссылка вызывала функцию скрипта, и все готово.

0 голосов
/ 29 сентября 2011

Вы не можете.

Я намереваюсь представить несколько методов в качестве общедоступного API, и результат будет выглядеть как JSON. И при выполнении запросов с использованием JavaScript или другого языка программирования, использование заголовка Accept для запроса определенного формата ответа - «Правильный путь», чтобы сделать это. Но это означало бы, что мне нужно разместить в моем коде заголовок Accept и параметр GET, который пахнет дублированием логики.

Если я вас правильно понимаю, вам все равно не нужно этого делать. Браузеры уже предоставляют заголовок Accept.

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