用AJAX调用PHP函数?

时间:2012-12-28 09:37:54

标签: php ajax

我知道我可以这样做:

//Jquery
$.ajax({type: 'POST', data : {'action' : 'foo'}});

//PHP
if(isset($_POST['action']) && $_POST['action'] == 'foo')
{
    function foo()
    {
        //yeah
    }
}

但是..在我和朋友一起工作的项目中,他设置了控制器,以便能够使用自定义操作调用特定功能。例如,假设我的视图是使用thing.php的控制器。从我的Javascript我可以只是AJAX到这样的网址:

'url' : 'thing'

所以在这种情况下,foo()会被调用而不需要任何ifs或开关(据我所知)

对我而言,这是伟大而理想的,但我不确定它是如何设置的。他不在假期,所以我问你们。

你知道这是如何实现的吗?我们使用的是非常典型的MVC架构。对不起我是PHP新手。谢谢!

1 个答案:

答案 0 :(得分:7)

看起来您的朋友正在使用.htaccess重写网址以添加.php,可能还有

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

现在,如果您调用/thing之类的网址,它实际上会在您的服务器上调用文件/thing.php并执行它。或者在您的情况下,如果您的网址只是thing而没有开始/它会调用您当前网页所在的同一文件夹中的thing.php

或许他正在重写控制器的所有内容,然后将变量添加为命令。像

这样的东西
RewriteRule ^(.*)$ controller.php?action=$1

无论如何,检查你/他的.htaccess文件中的线索