【问题标题】:How do I reply to a POST in my php script?如何在我的 php 脚本中回复 POST?
【发布时间】:2011-09-21 14:16:05
【问题描述】:

不知何故,我觉得我的问题非常直截了当,但我尝试谷歌搜索并无法弄清楚。也许我不知道正确的关键字。

无论如何,我有一个简短的 php 脚本来接收 POST 信息,如下所示:

<?php
    if (isset($_POST['name']) && isset($_POST['info']))
    {
        echo "<strong>Post received.</strong> <br/> <br/> <strong>Name:</strong> " . $_POST['name'] . "<br/><strong>Info:</strong> " . $_POST['info'];
    }
    else
    {
        echo "Post not received.";
    }
?>

如何让我的 php 脚本向调用它的页面/客户端发送回复?如果我想通过 C# 应用程序进行 POST 调用,我怎么知道 POST 是否成功?接收 POST 的我的 php 脚本可以发回响应吗?

【问题讨论】:

  • 也许你可以使用成功的HTTP代码en.wikipedia.org/wiki/List_of_HTTP_status_codes#2xx_Success
  • POST 或 GET 也是将用户带到新页面的重定向。这意味着您无法将任何内容发送回表单所在的“旧”页面。所以你不能“发回”回复,只能显示或发送他正在加载的新页面。
  • @Nideo:除非您在网络上使用 AJAX 调用,否则 OP 还提到了一个客户端,它不必是浏览器(带有页面)而只是一个应用程序。
  • 我意识到 POST 也是一种重定向,如果来自网页的调用,我可以在接收 POST 的页面上显示响应。但是如果数据是从 C# 应用程序发布的,我不确定如何发回响应以让用户知道数据已成功接收。
  • @PeeHaa,我知道,只是他看起来不像在使用 AJAX 之类的东西。

标签: php post


【解决方案1】:

响应仅发送给调用者,因此通过哪个通道调用脚本(无论有无参数)都没有关系。

例如,如果您通过网络浏览器发出请求,浏览器会显示响应。

如果您执行 AJAX 调用,则响应会在 javascript 回调函数中收到。

如果你说你通过 C# 应用程序调用它(通过例如 HttpWebRequest),那么在 HttpWebResponse 中收到的响应就是你在脚本中回显的内容

【讨论】:

    【解决方案2】:

    您使用的是echo,它是正确的。 header() 也用于高级通信。

    有关如何使用各种 HTTP 1.1 标头的详细信息,您可以see the link

    【讨论】:

      【解决方案3】:

      有几种方法可以发回信息。

      基本上你已经通过echoing 一些文字来做到这一点。

      或者您可以发回一个 html 页面或一个格式化的字符串(例如 JSON)。

      【讨论】:

        猜你喜欢
        • 2014-11-08
        • 2012-07-21
        • 1970-01-01
        • 2013-06-30
        • 2021-10-24
        • 2016-02-09
        • 2019-06-27
        • 2015-11-14
        • 1970-01-01
        相关资源
        最近更新 更多