我有一个简单的 HTML 表单(文本框和提交按钮)重定向到同一页面,并打印出输入文本。
我注意到,当使用 POST 方法发送输入文本数据时,它仅在页面加载时间少于 40 秒时才有效。再也没有了,当我按“提交”时,它不会打印出输入文本。它似乎“刷新”。
但是,当使用 GET 方法时(在下面的代码中将“post”的所有实例都更改为“get”),这个时间限制似乎不存在。
我很好奇是什么导致了这种行为差异。相关帖子指导我增加 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 请求的主体发送。
看看你的代码。您可能在某个地方限制了请求的最大响应时间。
希望对你有帮助。
关于php - HTML 表单 POST 与 GET 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33393740/