当前位置:  开发笔记 > 编程语言 > 正文

Kohana - 你在哪里放置AJAX脚本?

如何解决《Kohana-你在哪里放置AJAX脚本?》经验,为你挑选了3个好方法。

我正在使用Kohana但这个问题适用于Rails,CI或任何其他MVC Web开发框架.坚持一个服务器端AJAX脚本的最佳位置在哪里?

计划创建一个Ajax_Controller并使用每个脚本的方法/操作.

例如,主页上的登录表单index.php/home将发送XMLHttpRequest index.php/ajax/login,编辑配置文件表单index.php/profile/edit将发送XMLHttpRequest index.php/ajax/editprofile.什么是最佳做法?



1> Tom Wright..:

我倾向于将我的ajax动作放在与任何给定模型的非ajax动作相同的控制器中.

当我可以,我尝试使用相同的操作,只更改输出类型.大多数任务都应该有一个非ajax版本,所以这往往很好.非常方便减少逻辑重复.



2> thomasrutter..:

AJAX跨越了所有MVC边界.也就是说,它不仅仅涉及模型,视图或控制器之一.

您的AJAX脚本将调用您站点上的脚本 - 因此这将涉及您为此目的创建的控制器层的一部分.

反过来,该控制器将使用模型层提供的接口访问数据库,就像非AJAX请求一样.

返回客户端的响应数据可以打包为JSON或XML等.从技术上讲,这是视图层的任务,但是如果您的应用程序对视图层的定义只不过是"一个HTML模板系统"而不是"处理和格式化任何被发送回客户端的内容,无论它是HTML还是其他类似的东西" XML"那么你的XML或JSON生成可能需要进入它自己的一个新的小部分.

至于自己发送脚本(Javascript文件),这可能是由Web服务器直接处理,而不是在MVC框架内处理.



3> Mario..:

你为GET和POST请求制作了不同的控制器吗?我不.在我看来,JS请求也不应该以不同的方式处理.

我个人看到JS请求就像GET,POST或任何其他类型的请求.因此,如果我有与用户相关的基于JS的操作,我只需在用户控制器中创建它们.

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有