gpt4 book ai didi

php - 使用 Ajax.Request 调用 PHP 方法

转载 作者:行者123 更新时间:2023-11-30 23:48:45 25 4
gpt4 key购买 nike

使用 Ajax.Request(使用原型(prototype))调用 PHP 文件中的特定方法的最佳方法是什么?我正在使用 Form.serialize 提交表单,因此我想到添加一个参数(例如要调用的方法的名称),然后在服务器脚本上检查它。像这样的东西:

var params=Form.serialize("someform")+"&=method='check_data'";
new Ajax.Request('somescript.php',{method:'post',parameters:params,onSuccess:
function(response)
{
.. do something with the response

在 somescript.php 中:

if($_POST["method"] == "check_data")
{
check_data();
...
}

这可行,但我确信有更好或更简单的方法来调用远程方法(ala MVC)。有什么想法吗?

最佳答案

在任何情况下都不要对普通 PHP 方法执行此操作。它打开了一个巨大的潜在安全漏洞。即使您限制可以以这种方式调用的命令,从长远来看这也不是一个好方法。

要么继续你已经做的事情:定义可以传递给 PHP 脚本的命令列表(例如 command=deletecommand=updatecommand=copy,无论你需要什么),并使用switch调用它们。

或者使用具有可以从外部安全调用的方法的类:

class myCommands
{
function copy() { ... }
function delete() { ... }
function update() { ... }
}

然后,在 PHP 文件中,传递如下命令

if (method_exists($class, $_POST["method"]))  
call_user_func(array($class, $_POST["method"]));

关于php - 使用 Ajax.Request 调用 PHP 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2071487/

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