php - 不使用 PHP 重定向的 POST

标签 php post redirect

我在 http://www.notonebit.com/projects/mailing-list/ 找到了一个简单的邮件列表表格

问题是当我点击提交时,我想要它做的只是在当前表单下显示一条消息,说“感谢订阅”,没有任何重定向。相反,它将我定向到一个全新的页面。

<form method="POST" action="mlml/process.php"> 
    <input type="text" name="address" id="email" maxlength="30" size="23"> 
    <input type="submit" value="" id="submit"name="submit"  >
</form>     

最佳答案

您需要使用 AJAX 将数据发布到您的服务器。最好的解决方案是实现定期发布,这样至少会奏效。然后,您可以使用 Javascript 连接到它。这样,当有人没有 Javascript 时,发布将起作用(刷新)。

如果找到a good article on posting forms with AJAX using JQuery .

此外,您可以选择将数据发布到同一网址。 JQuery 库将添加 HTTP_X_REQUESTED_WITH header ,您可以在服务器端脚本中检查其值。这将允许您发布到相同的 url 但返回不同的值(整个页面,或只是一个特定的响应,取决于是否是 AJAX 请求)。 所以你实际上可以从你的表单中获取 url 而不需要在你的 Javascript 中编写它。这使您可以编写更易于维护的脚本,甚至可能会产生一种通用的表单处理方法,您可以将其重复用于要使用 Ajax 发布的所有表单。

关于php - 不使用 PHP 重定向的 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6806028/

相关文章:

php - 通过 JS 将 POST 数据传递给 PHP 失败

java - 缓冲阅读器 HTTP POST

github - 如何删除 GitHub 页面子域重定向?

php - MySQL Case when then 子句

php - php错误中的html表

angularjs - 带有 $http 的 Access-Control-Allow-Headers 不允许请求 header 字段

redirect - 在 nginx 上重定向时出现 502 Bad Gateway

javascript - 为什么在重定向之前运行警报?

php - 网站间同步数据表

php - captureScreenshotOnFailure 不工作,损坏