【问题标题】:POST / GET compared to submitting form to action page and loading resultPOST / GET 与提交表单到操作页面和加载结果相比
【发布时间】:2015-07-16 11:48:38
【问题描述】:

我使用了一个我想了解的网站。它有一个表单,其中操作说明它发送到不同的页面。

当您通过 post 方法提交此表单时,它会使用网站本身提交并将您重定向到操作页面。它根据您在上一页提交的表单(从服务器)加载信息的位置。

但是,当我使用 AJAX post 方法将表单提交到该页面时,我不知道如何获取提交结果的页面。

感谢您的帮助。

编辑:我无权访问服务器。

编辑,进一步解释: 是的。该页面所做的是将表单提交到该页面,然后该页面具有来自服务器的附加信息,然后可以提交以确认。我想编写一个从任何页面执行此操作的脚本。

【问题讨论】:

  • 我没有得到提交结果的页面是什么意思。 ?
  • 当你使用ajax时,产生的页面就是当前页面。这就是 ajax 的意义——在不加载完整页面的情况下提供与服务器的一些交互。
  • 表单提交到另一个页面。我想加载该操作页面,就好像我已经提交并被重定向一样。字面意思:我想发布到并加载操作页面......我不想重定向。我想在提交的结果通过操作页面后访问它。
  • 结果页面是否包含完整的 HTML 文档?如果是这样,这似乎是不可行的,因为您必须解析生成的文档以获取所需的信息。您应该重写表单所针对的页面以返回 JSON 字符串、XML(或纯文本)
  • 是的。该页面所做的是将表单提交到该页面,然后该页面具有来自服务器的附加信息,然后可以提交以确认。我想编写一个从任何页面执行此操作的脚本。

标签: javascript jquery ajax forms


【解决方案1】:

在您使用 AJAX 发布到的页面中,您的代码可能如下所示:

    if (isset($_POST['var1'], ...) {
        //handle your post variables

        session_start();
        $_SESSION['var1'] = $_POST['var1'];

        echo 'success';
    } else echo 'fail';

然后您的表单页面可以检查successfail 的返回值。 成功后,您会将用户的浏览器定向到下一个页面,该页面将读取以下表单元素:

    session_start();
    $var1 = $_SESSION['var1'];

    //use form input

或者,您可以返回要将用户浏览器引导至的页面的 URL,而不是返回 successfail

【讨论】:

  • 我无权访问服务器。
猜你喜欢
  • 1970-01-01
  • 2019-10-23
  • 2017-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-22
  • 2014-10-16
  • 2011-09-21
相关资源
最近更新 更多