2

我创建 AJAX 调用没有问题,但目前每个 url 都必须是唯一的。我希望在同一个文件中包含多个 PHP 函数,并通过特定的 AJAX 调用专门访问其中一个 PHP 函数。

使用 jQuery,目前我正在传递带有整数规范的 .data 参数,然后使用 PHP 文件中的 $_GET 方法并运行整数指定的正确函数。

我怎样才能做得更好?我想在 PHP 文件中调用一个特定的函数;我不想每个函数都有单独的文件

4

2 回答 2

1

我可以告诉你使用快速而肮脏的解决方案,即function在调用中传递一个参数,然后:

switch($_GET['function'])
{

case 'show':    
    show();
    break;

case 'delete':
    delete();
    break;

case 'awesome':

    awesome();
    break;

}

但这是完全无法维护的,因为你会淹没在一堆乱七八糟的包含中,或者更糟的是陷入无法在任何地方重用的巨大代码列中。

我建议您进入路由,即在指向的 URL 和被调用的函数之间建立关系,如果需要使用参数 [如下面的第二个示例]:

/users              --> printAllUsers
/users/123          --> printUser($id)
/products/beers     --> printProducts($category)
/search             --> search()
...

这样您就可以将路由本身与响应生成分离:您可以在此处找到更好的整体解释,然后您可以在此处找到一个非常好的精简库,您可以在您的项目中使用而无需依赖整个框架。

啊,在使用诸如 OOP、MVC、RESTful 服务之类的东西进入流行语海洋之前——当然,所有这些都值得学习——坚持第一个概念:当我开始学习所有这些东西时,我真的很怀念它,它是我的尤里卡

于 2012-08-31T23:38:14.933 回答
1

您可以为每个函数分配一个ID,发送AJAX GET基于一个并使用switchID调用该函数

例如:发送GET = 1,或GET = 2

switch ((int)$_GET['id']) {
    case 1:
        processData();
        break;
    case 2:
        sendEmail();
        break;
    case 3:
        restoreBackup();
        break;
    // ........ and so on
}
于 2012-08-31T23:25:58.593 回答