Cakephp如何使用ajax在单个控制器中添加多个视图文件

时间:2013-04-15 07:28:36

标签: jquery cakephp-1.3 cakephp-ajaxhelper

我有一个名为User.i的控制器在该控制器中写入三个函数,即; function1,function2,function3每个函数在View / User文件夹中都有相应的视图文件。我的问题是,在我的function1.ctp文件中,我使用jquery创建一个左边的菜单栏。菜单栏中有三个菜单,当我点击每个菜单时,我想在控制器的ajax请求的帮助下加载function1.ctp,function2.ctp function3.ctp的内容。我们可以这样做吗?这可能吗..?如果有人可以帮助我..请回复

1 个答案:

答案 0 :(得分:1)

当然有可能--AJAX尽可能定义它。

如果您已经设置了三个功能,并且在转到example.com/yourcontroller/functionName时看到它们呈现了他们的观点,那么您几乎就是这样。

您现在在客户端需要做的是当用户点击主菜单时 - 加载子菜单,对吧?好吧,将javascript单击函数回调附加到单击的HTML项目,当发生该事件时,通过AJAX调用服务器。

您需要问自己“我需要从服务器返回什么 - HTML或JSON?” 在第一种情况下 - 当您收到HTML数据时,只需将其放在您想要的DOM中。在第二种情况下,您将需要处理JSON并构建HTML或其他任何内容。

这是答案,现在有些建议。

你真的,真的需要使用AJAX菜单吗? 他们经常改变吗?

请记住: 1个AJAX调用== 1个服务器请求 您的子菜单是否真的需要像这样加载数据/更改密集? 如果您的菜单根据用户的位置(在网站中)或用户操作而改变,例如,你可以使用它,但是否则你会用火箭筒杀死一只蚊子! 您应该尽量保持数据交换尽可能低,gzip服务器返回等等。这种解决方案对于这种情况可能是一种过度杀伤。