【问题标题】:HTML Form POST vs GET TimeoutHTML 表单 POST 与 GET 超时
【发布时间】:2016-01-28 09:14:42
【问题描述】:

我有一个简单的 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>

【问题讨论】:

  • 你能不能用post再试几次你的代码,应该没有时间问题...
  • 这就是你的全部代码吗?这是你的确切代码,而不仅仅是一个例子?您的问题听起来更像是您有一些导致问题的 javascript 或其他代码,而不仅仅是 php 中的超时
  • 您是否在多个浏览器中尝试过这个?或不同的服务器?似乎是系统特定的错误。
  • Aaron:此时我已经尝试了很多次,它始终在约 40 秒时超时。肖恩:这是我正在运行的确切代码。我正在通过 Cloud 9 IDE 运行它。那会有什么不同吗?谢谢你们的帮助。

标签: php html forms post get


【解决方案1】:

GET 通常更快,因为它没有封装(通过 URL 发送数据,通常限制为 255 个字符),因为 POST 通过 HTTP 请求的主体发送存在封装。

看看你的代码。您可能在某个地方限制了请求的最大响应时间。

希望对你有帮助。

【讨论】:

  • 以上是我的PHP文件中的所有代码。我能想象的唯一其他可以限制请求响应时间的地方是 Cloud9 提供给我的 php.ini 文件。您是否知道其中可能设置的任何变量会导致这种行为?
  • 在 php.ini 中查找 max_execution_time 并设置为 0(无限制)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-20
  • 2018-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-23
  • 1970-01-01
相关资源
最近更新 更多