Я ищу что-то вроде Response.Clear().
Вопрос
Как очистить буфер ответов в ColdFusion?
- GetPageContext().getCFOutput().clear() и ‹cfcontent reset=true /› оба верны. Aaron Greenlee 14.09.2010
- Если бы только SO позволил мне принять два ответа... Larsenal 14.09.2010
Ответы
Ответ 1 · рейтинг 12 · jfrobishow
Это очистит тело ответа и предотвратит вывод буферизованного содержимого.
<cfset GetPageContext().getCFOutput().clear()>
Ответ 2 · рейтинг 29 · Edward M Smith
Вы можете сбросить буфер вывода с помощью cfcontent с аргументом сброса:
<cfcontent reset="true">
Ответ 3 · Ryan Cogswell
Два существующих ответа (<cfset GetPageContext().getCFOutput().clear()> и <cfcontent reset="true">) будут сбрасывать буфер основного содержимого, но эти команды не будут сбрасывать буферы заголовков (то есть содержимое, которое ColdFusion автоматически вставляет в элемент <head>, например теги <script> при использовании <cfchart>).
Чтобы сбросить все, вы можете использовать любой из следующих подходов:
<cfcontent reset="true" resethead="true">
or
<cfset getPageContext().getCFOutput().clearAll()>
<cfset getPageContext().getCFOutput().clearHeaderBuffers()>
Эти подходы не задокументированы (поэтому их можно изменить в будущей версии, хотя и маловероятно), и эти подходы вряд ли будут переносимы на другие механизмы CFML, но я не нашел документированного подхода к очистке буферов заголовков.
Связанный ответ: Есть ли способ предотвратить принудительное использование js в содержимом ответа cfchart?
Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.