1

我正在使用用于执行回调请求的支付网关的 API。发出回调请求时,网关希望我回复“OK”。没有更多或更少。这并不意味着 html 呈现响应。只是带有这两个字母的回调文件。请注意,这并不意味着它需要 HTTP 状态代码 200/OK……它需要“OK”一词的实际数据(而不是标头)。

所以这行不通:

<html><body>OK</body></html>

这将起作用:

<?php echo "OK"; ?>

但是,在我发回 OK 后,我需要在服务器端做一些事情,然后将浏览器页面重定向到另一个页面。但是当我尝试这样做时:

<?php
echo "OK";
header('Location: http://www.store.com/success.php');
exit;
?>

网关会忽略回显“OK”,而是从我重定向到的 success.php 页面中读取 html。

那么我怎样才能发回OK但继续在我这边做事呢?

谢谢

4

4 回答 4

1

您不能发送内容然后重定向。重定向标头设置必须单独完成。

于 2012-06-18T16:29:05.777 回答
0

你可以试试用flush();强制php写出OK。

于 2012-06-18T16:29:43.203 回答
0

使用 javascript 或元刷新标签将重定向移动到客户端是否可以接受?

于 2012-06-18T16:31:49.820 回答
0

在发送之前,OK您可以通过命令行调用 PHP 以使 PHP 表现得像受到多重威胁一样。

于 2012-06-18T16:34:18.307 回答