使用ajax而不是php文件调用php函数

时间:2016-09-20 19:56:43

标签: php ajax

使用ajax时创建大量单独的.php文件是标准做法吗?或者有没有办法相对轻松地调用某些功能?

例如,对于我的checkusername代码,我必须创建一个单独的php文件来执行此操作

xhttp.open("GET", "CheckUsername.php?q="+name, true);

现在,如果我要创建一堆ajax调用,我将需要大量单独的.php文件。是否有一种简单的方法可以将它们分组?它是在函数中还是在文件夹中我可以将它们全部放入?

1 个答案:

答案 0 :(得分:0)

如果使用MVC框架,通常可以将所有ajax请求路由到一个Controller文件,并为每个不同的ajax调用调用不同的方法。

如果您不想使用MVC,您可以通过传递使用变量变量区分函数的查询参数(通过您的ajax请求)在1个文件中创建伪路由器。例如,如果您的后端文件如下所示:

<?php 

    $function_id = $_GET['function_id'];// this acts as a low level but functional router

    function func1() {}

    function func2() {}

    echo $function_id();

?>

您可以像这样添加查询参数:

var func = 'func1';

xhttp.open("GET", "CheckUsername.php?q="+name+"&function_id="+func, true);

在这种情况下,返回值将来自函数func1()$_GET具有全局范围,因此无需将其作为参数传递给后端文件中的函数。