创建AJAX调用没问题,但每个网址目前都必须是唯一的。我希望在同一个文件中包含多个PHP函数,并使用特定的AJAX调用专门访问其中一个PHP函数。
使用jQuery,目前我正在使用整数规范传递.data参数,然后在PHP文件中使用$ _GET方法并运行整数指定的正确函数。
我怎样才能更好地做到这一点?我想在PHP文件中调用许多特定的函数;我不希望每个函数都有单独的文件
答案 0 :(得分:1)
您可以为每个功能分配ID
,根据AJAX
发送GET
ID
,并使用switch
例如:发送GET = 1
或GET = 2
switch ((int)$_GET['id']) {
case 1:
processData();
break;
case 2:
sendEmail();
break;
case 3:
restoreBackup();
break;
// ........ and so on
}
答案 1 :(得分: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()
...
通过这种方式,您可以将路由本身与响应生成分离:您可以找到更好的整体解释here,然后就可以找到一个非常好的瘦库{{3}您可以在项目中使用而不依赖于整个框架。
啊,在使用OOP,MVC,RESTful服务这些当然值得学习的东西进入流行语海洋之前 - 坚持这个第一个概念:当我开始学习所有这些东西时,它是我真正错过的那个,这对我来说是 eureka 。