【问题标题】:Return a HTTP 200 Code to the POST client?向 POST 客户端返回 HTTP 200 代码?
【发布时间】:2012-08-14 21:45:08
【问题描述】:

我有一台服务器向我发送 POST。我需要回复 HTTP 200 OK。 服务器需要有点像“继续!”在它执行另一个动作之前提示。 它需要 HTTP 200 响应。

编辑 header()我试过了,但是服务器由于某种原因不会读取它?

【问题讨论】:

  • 我想我不明白反对票和接近票?
  • 一些上下文真的可以帮助我们准确地理解你想要做什么。你能补充一些细节吗?
  • 什么是 SAPI?我取决于它是否是 CGI,如何发送状态标头。
  • 我认为它实际上可能在 CGI 上。使用 Crowdflower 的 API。

标签: php http post


【解决方案1】:

200 代码是对成功请求的标准响应...即使回显空 json 字符串也会导致 200 OK 状态。

echo json_encode(array());

如果您想要做的只是向您的客户发出某个进程已完成的信号,您可以回显一条自定义状态消息,甚至像我上面演示的那样回显一个空白对象。

如果您想实际手动发送 200 标头,您可以这样做 -

header('Status: 200');

确保在您从服务器获得任何输出之前发送此标头。

【讨论】:

  • 如果我想设置一个自定义的返回消息,我应该通过API还是在哪里?
  • 其实是:header('HTTP/1.1 200 OK');
  • @Tarik - 我不确定我在写这个答案时使用的是什么版本的 PHP - 有可能随着较新的版本发生了变化。我不再使用 PHP,所以我可能不了解最新的更改。如果您愿意,请随时编辑我的帖子以添加此信息。
【解决方案2】:

这个函数调用完成了这项工作: http_response_code(200);

见:http://php.net/manual/en/function.http-response-code.php

这个函数调用可以在服务器代码的任何地方抛出——这个函数被调用的顺序似乎并不重要。

【讨论】:

  • (PHP 5 >= 5.4.0, PHP 7)
猜你喜欢
  • 2014-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多