gpt4 book ai didi

php - 从 javascript 和 PHP 上下文发布数据时使用相同的 PHP 类很困难

转载 作者:行者123 更新时间:2023-12-02 20:07:56 26 4
gpt4 key购买 nike

我有一个名为 FormController 的 PHP 类,其构造函数当前验证一些 $_POST 变量,如果未全部设置,则抛出异常。 FormController 最终应该返回下一页的地址。

所以我的 PHP 页面会是这样的:

session_start();
try {
// controller needs certain variables set in the $_POST
// superglobal to work properly.
$controller = new FormController();
echo $controller->nextPage();
} catch(Exception e) {
// Handle exception here
}

我的 JavaScript 代码(jQuery):

$.post('next_page.php', {
form_variant: form_variant,
person: person,
last_page: last_page,
direction: "forward"
},
function(data) {
var response = JSON.parse(data);
window.location = response.new_page;
});

从 javascript 初始化 POST 请求这很好,但我也在使用一些遗留代码,并且需要从表单 Controller 获取新的页面地址,但我不知道如何调用 FormController,因为这需要使用 $_POST 变量。

一个妥协是我可以让表单 Controller 接受普通参数并在构建 FormController 之前验证任何发布请求。这样我就可以从 PHP 页面构建它。

很抱歉这个问题太长了,但是谁能告诉我如何从 PHP 页面中发出 POST 请求?或者即使有更好的方法我可以设计这个?

非常感谢

最佳答案

在您的 formController 中允许发送的 $_POST 变量被传递的数组覆盖:

public function __constructor($data = array())
{
if(!sizeof($data))
{
$data = $_POST;
}
}

然后需要的时候直接发送:

$controller = new FormController($data);

关于php - 从 javascript 和 PHP 上下文发布数据时使用相同的 PHP 类很困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7258414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com