【问题标题】:Redirect Callback URL after processing处理后重定向回调 URL
【发布时间】:2018-10-03 10:20:25
【问题描述】:

我正在使用 API;我使用回调 url 来监控 API 发送的某些参数并将它们存储在 mysql 数据库中;这工作得很好

在数据库中存储数据后,我想将页面重定向到另一个页面以进行其他处理。

DB插入后相关代码如下:

$count = $stmt->rowCount();
if($count == 0){
$conn = null;
exit;
}
else{
$conn = null;
header("Location: https://www.example.com/message_usage?id=$id");
exit;   
}

如果我直接调用 url 为:

https://www.example.com/message_usage?id=1234

它工作正常。但是重定向似乎没有在原始代码中发生。在php中处理后我们不能重定向回调url吗?如果是这样,怎么办??

【问题讨论】:

  • 你使用ajax吗?
  • 没有 Ajax。纯php。
  • var_dump$count 是什么?
  • 如原帖中所述,数据库中的数据正在正确更新。即使没有成功检查并直接提供重定向也不起作用。
  • 你的id来自哪里?也许它未定义。

标签: php callback


【解决方案1】:

大多数调用 webhooks/API 回调的客户端会忽略重定向,并且不会仅仅因为您的端点认为应该执行额外的 HTTP 请求。他们回电是为了通知您他们最后发生的事情,从那时起,您的系统将负责。

许多人甚至会将任何不同于 200 的状态代码视为失败代码,并将相应的响应存储在他们身边。

重定向不是进行此类操作的正确方法。您需要进行的任何其他处理都应在原始 HTTP 请求中进行。

充其量,它不会起作用,并且只会执行您的流程的第一部分(正如您所发现的那样)。

在最坏的情况下,回调您的 API 会将状态响应视为失败,这可能会影响您的数据在他们这边的处理方式。

【讨论】:

  • @Pamela 太好了。请记住,如果您发现它也有用,您可以接受答案。
猜你喜欢
  • 1970-01-01
  • 2019-12-19
  • 2021-12-23
  • 1970-01-01
  • 2017-01-05
  • 1970-01-01
  • 2010-10-18
  • 1970-01-01
  • 2013-05-26
相关资源
最近更新 更多