我有一个相当长的表格(1000 个复选框),客户通过它来订购。但是当它超过一定的限制(100 项)时,我收到以下错误:
未能添加 HTML 标头。ColdFusion 无法将您指定的标头添加到输出流。这可能是因为您已经在模板中使用了 cfflush 标记或缓冲输出已关闭
问:这是 IIS 设置还是 ColdFusion 管理员设置?
在发布这个问题之前我做了一些研究,它与 AJAX 和调试设置无关。所有调试设置都已关闭,我收到表单提交错误。
我有一个相当长的表格(1000 个复选框),客户通过它来订购。但是当它超过一定的限制(100 项)时,我收到以下错误:
未能添加 HTML 标头。ColdFusion 无法将您指定的标头添加到输出流。这可能是因为您已经在模板中使用了 cfflush 标记或缓冲输出已关闭
问:这是 IIS 设置还是 ColdFusion 管理员设置?
在发布这个问题之前我做了一些研究,它与 AJAX 和调试设置无关。所有调试设置都已关闭,我收到表单提交错误。
您的表单是 POST 还是 GET?如果是 GET,您可能会超出 URL 长度限制。如果是 POST,那么您可能会遇到 CF 中表单字段数量的限制。本文详细介绍了如何修改该值。
您可能需要考虑将数据发送到服务器的其他方式。也许使用 jQuery 序列化表单并将 JSON 作为单个参数发送?
听起来与我们将具有大量字段的站点移动到新环境后遇到的错误非常相似。我们的错误读起来有点不同,但根据你在做什么,你可能会得到不同的错误。
根本原因:coldfusion.filter.FormScope$PostParametersLimitExceededException:POST 参数超过了服务器中指定的最大限制。
您的 runtime.xml 文件中有一个 Coldfusion 设置,您可以尝试更改或删除:
<var name='postParametersLimit'><number>100.0</number></var>