XHTML 1.1 с практическими рекомендациями проверяет амперсанд, не выходя из него?

Моя проблема следующая. У меня есть XHTML 1,1 страницы, который имеет форму и поля ввода. Одно из полей ввода содержит значение, которое является URI. Этот URI содержит пары "ключ-значение" с амперсандом (и) как разделитель аргумента, который будет передан как ПОЛУЧИТЬ запрос другим веб-приложением в браузере.

Обычно я использовал бы объект & создать амперсанды для проверки кода как XHTML 1.1. Моя проблема здесь состоит в том, что приложение не получает ПОЛУЧИТЬ запрос, так как (как ожидалось) браузер не понимает, как обработать & в URI.

Таким образом, мой вопрос состоит действительно в том, как записать амперсанд, не используя объект HTML, таким образом, браузер все еще распознает его как разделитель аргумента, и ПОЛУЧИТЬ запрос передается правильно веб-приложению.

Я судил Шестнадцатеричное число (%26) кодирование амперсанда, но браузер все еще не "переводит" его назад в надлежащее и символ.

Связанный вопрос, но это не предоставляет точный ответ на вопрос, который я задаю:

XHTML и и (Амперсанд) кодирование

5
задан Community 23 May 2017 в 12:19
поделиться

5 ответов

Я не мог потратить на это больше времени. Я просто изменил разделитель аргументов на полуколонну (;), чтобы я мог использовать его вместо амперсанда:

#cat .htaccess
php_value arg_separator.input "&;"
0
ответ дан 15 December 2019 в 06:27
поделиться

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

нет никакого способа включать символ амперсанда как textNode, не используя сущность или маркеры CDATA (но я держал пари, что вы служите текстом/HTML, таким образом, вы не можете использовать их).

, Который сказал — любой браузер, которому не удается декодировать сущность, повреждается. Никакой основной браузер не перестал работать там. Вы или используете неясный и поврежденный браузер или неправильно диагностируете проблему.

1
ответ дан 15 December 2019 в 06:27
поделиться

, Как упомянуто в другом вопросе, на который вы сослались, браузер преобразовывает & к и когда страница обрабатывается, таким образом, "и" (не & ), должен быть отправлен на сервер в ПОЛУЧИТЬ запросе. Возможно, вы используете Ajax для создания ПОЛУЧИТЬ запроса, в этом случае, вы, возможно, должны декодировать HTML. Сущность требуется для XHTML - никакое альтернативное кодирование, просто удостоверьтесь, что она должным образом декодируется.

Ссылка: и изменения в & в гиперссылке

1
ответ дан 15 December 2019 в 06:27
поделиться

Ушитый и должен быть преобразован клиентом (браузер) везде в документе XHTML.

Так что вы должны побег каждый & и &

1
ответ дан 15 December 2019 в 06:27
поделиться

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

Один из возможных (если это на самом деле, то, что вы сталкиваетесь с) состоит в том, чтобы переместить предметы в крище в других элементах формы, такие как:

<form action="example.com/?foo=1&bar=2>
    <!-- ... -->
</form>

к:

<form action="example.com">
    <input type="hidden" name="foo" value="1" />
    <input type="hidden" name="bar" value="2" />
    <!-- ... -->
</form>
0
ответ дан 15 December 2019 в 06:27
поделиться
Другие вопросы по тегам:

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