我正在构建一个自滚动 MVC 框架,到目前为止,我已经设法避免了任何 AJAX 调用的需要。然而现在,我想创建一个实时更新的提要。
我的问题是,ajax 调用的处理程序通常存储在 MVC 中的哪里?我应该将它们存储在参与调用的同一控制器中吗?
例如,如果我的域 www.example.com/browse/blogs(浏览是控制器,博客是方法)正在对更新的博客列表进行 AJAX 调用,那么该调用是否只是对 www.example.com/浏览/更新列表什么的?
或者,它是一个单独的仅 AJAX 控制器吗? www.example.com/ajax/update_blogs
你怎么做呢?
最佳实践是完全忽略它是 AJAX 请求这一事实,而只关心 AJAX 请求与哪个控制器相关。可以这么说,如果您有一个包罗万象的 AJAX 控制器,您可能会将苹果和梨分为一组。
主要区别在于,对于 AJAX 请求,您可能需要避免设置任何布局(以及可能的视图)数据。通过在父 Controller 类中使用一个检查有效 AJAX 请求的方法可以轻松解决此问题:
protected function isAjax()
{
return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&
$_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest');
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)