ajax通过单一入口点请求

时间:2010-11-05 14:55:18

标签: php jquery ajax model-view-controller

我正在建立一个小的mvc样式框架,通过公共文件夹中的索引有一个单一的入口点。我现在通过它传递所有的ajax请求,并将它们指向私有应用程序目录中的相应控制器。

这样做的优点和缺点是什么?

我应该这样做吗?或者其他方式?

3 个答案:

答案 0 :(得分:2)

最初可能不是很多缺点。正如Pickle所指出的,你在一个区域内的所有东西都很容易找到。

我会说功能应该保留在它所属的控制器中。仅仅因为输入和输出都是AJAX应该无关紧要。实际上,您可以在控制器中使用一个方法,如show user方法,可以输出HTML页面或AJAX数据。当它属于用户控制器时,没有理由将它放在单独的AJAX控制器中。

老实说,这是所有设计决策。我只是偏好将逻辑保留在逻辑上的位置,并将AJAX视为输入和输出问题,并构建处理输入/输出的方法。

我们推出了自己的框架,我们构建的一件事是处理传入流量的路由器。并且ajax调用最后有一个.json。然后,控制器可以使用它,如果控制器支持ajax请求,它将输出有效的JSON数据,而不是将数据传递给视图,然后显示HTML。

答案 1 :(得分:0)

优点:您不必搜索大量代码来找出处理AJAX请求的位置。

缺点:我无法想到。

答案 2 :(得分:0)

唯一潜在的缺点是任何“昂贵的”自举,AJAX不需要这可能会减慢响应时间。但是,APC可能会帮助或否定这一点,具体取决于您正在做什么,并且您可以定制引导过程来处理轻量级请求。

FWIW,AJAX的正常Drupal方法通过与普通页面相同的位置汇集所有内容。当用户没有启用JS时,这也是为了帮助提供回退。