我有一个简单的HTML表单(文本框和提交按钮),它重定向到同一页面,并打印出输入的文本。
我注意到,当使用POST方法发送输入文本数据时,只有当页面加载时间小于约40秒时,它才能工作。再按一次,当我按下"提交"时,它不会打印出输入文本。它似乎在"刷新"。
但是,当使用GET方法(在下面的代码中用"GET"更改"post"的所有实例)时,此时间限制似乎不存在。
我很好奇是什么导致了这种行为上的差异。相关的帖子引导我增加php.ini中的max_execution_time、max_input_time和default_socket_timeout,但在使用POST方法时,这些似乎都没有任何效果。
开发环境:Cloud 9 IDE,Chrome浏览器。
这是我的代码:
<?php
if(isset($_POST['textentry']))
echo $_POST['textentry'];
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Forms</title>
</head>
<body>
<form action="index.php" method="post">
<textarea class="InputTextBox" name="textentry"></textarea>
<input type="submit" name="TextSubmit" value="Submit"/>
</form>
</body>
</html>
GET通常更快,因为它没有封装(通过URL发送数据,通常限制为255个字符),因为POST通过HTTP请求的主体发送来进行封装。
看看你的代码。很可能是您在某个地方限制了请求的最长响应时间。
我希望它能有所帮助。