【发布时间】:2011-11-27 08:37:01
【问题描述】:
我的应用程序中有一个表单,技术人员可以在其中输入有关不同事件或所采取的操作的信息(例如更新服务器)。问题是这些输入可能很长,然后我的表单停止工作。如果浏览器尝试发送数据,服务器会向浏览器返回 302 错误,但是当我尝试提交时,浏览器通常什么也不做。当浏览器什么都不做时,在 Chrome 开发者工具中快速查看显示浏览器尝试向正确的路径执行发布,但状态被列为失败。如果 textarea 包含超过 ~3500 个字符,则总是会发生这种情况。我尝试更改 enctype 以查看会发生什么,但并没有解决问题。
<form enctype="application/x-www-form-urlencoded" action="/some/path/" method="post" _lpchecked="1">
<fieldset>
<input type="hidden" name="machineId" value="some_integer">
<input type="hidden" name="eventId" value="some_integer">
Titel:
<select name="form[title]">
<option>Some_option</option>
<option>some_option</option>
</select>
<textarea name="form[text]" rows="25" cols="90"></textarea>
<input type="submit" value="Spara" title="Spara">
</fieldset>
</form>
关于为什么它不起作用以及可以做什么的任何想法?
编辑: 我的应用程序基于 PHP 并在 Debian/Apache 上运行。我找不到任何可能阻止帖子正常工作的设置。我确实将 post_max_size 设置为 8MB,但 3500 个字符的文本不大于 8MB,所以...
【问题讨论】:
-
碰巧,您的服务器是否有最大帖子大小?可能达到了最大帖子站点阈值,这会导致它反弹。 (另外,尝试使用
multipart/form-data作为enctype的形式,看看有没有变化(application/x-www-form-urlencoded是enctype的默认值) -
我无法在我的服务器中找到任何可能产生这种影响的设置,但如果您能给我提示并提示要查找的内容,我会再次检查。我正在运行 Debian/Apache。我也尝试了几种不同的编码类型,但它们都给出了相同的结果