是否可以让CakePHP根据请求是否是AJAX来加载不同的组件/帮助器?
显然您不能使用RequestHandler::isAjax,因为RequestHandler本身就是一个组件!
我关心的是性能-我认为加载所有组件(在大多数控制器中大约有4-6个)会拖累速度,这是正确的吗?
我想到的一个想法是创建一个AjaxController,只有最少的组件,没有帮助器,但这似乎有点脏?
谢谢
发布于 2011-04-01 19:00:30
我建议您默认使用RequestHandlerComponent,并在需要时让它加载其他组件。只加载RH组件不会影响您的系统。在任何情况下,你都不应该立即尝试微优化这些东西。
此外,根据您的JS设置的类型,大多数JS库都会发送一个值设置为XMLHttpRequest
的X-Requested-With
。你也可以看看这个。
就个人而言,我认为RequestHandlerComponent
是最好的方法。
发布于 2011-04-01 18:11:09
你试过这个吗?
Adding Components on the fly
https://stackoverflow.com/questions/5511869
复制相似问题