我想说一个Ajax请求与一个非Ajax请求完全相同:实际上,从HTTP协议的角度来看,它的工作方式完全相同。
唯一的区别是,您将返回一些非格式化的数据,例如JSON或XML (嘿,这与生成ATOM提要^^相同) ,或者仅返回HTML页面的一部分。
因此,我会将这些请求视为其他任何“正常” HTTP请求,并按照与非Ajax请求相同的方式放置它们。
半替代的想法可能是在您的控制器中仅执行一项操作:
/browse/blogs-并始终调用该操作。
但是,它将检测是否正在通过Ajax请求,并且会:
- 如果通过“正常”请求调用,则返回整页
- 或仅返回一些数据(或页面的一部分)(如果通过Ajax请求调用)
注意:这不是一个“疯狂”的想法;例如,Zend
framework提供了一些便利的工具(请参阅12.8.4.3。ContextSwitch和AjaxContext)



