2.4 _type HTTP 参数 有时候xml请求可能是代表一个框架发出,我们只用一点或者没有权利控制发送到服务器的http头。这种情况经常发生在使用ajax技术工作中,这种情况下,浏览器有时间请求html响应(主页),有时候请求xml响应(特殊内容)。这样场景的问题是
2.4 _type HTTP 参数
有时候xml请求可能是代表一个框架发出,我们只用一点或者没有权利控制发送到服务器的http头。这种情况经常发生在使用ajax技术工作中,这种情况下,浏览器有时间请求html响应(主页),有时候请求xml响应(特殊内容)。这样场景的问题是,从服务器的视点来看,从浏览器发送来html请求和xml请求的头部都是一样的。在这种情况下,框架会一直用html相应请求即使我们想要xml回应。应为http头的Accept字段是text/html。
_type HTTP就是为了解决这个问题的。_type参数值可以是web或者是r ws_stateless (简写为ws ),这样就可以指示我们想要的响应类型,不管从客户端到服务器的http头如何设置。
下面是一个希望传统的web响应的url例子:
http://example.com/forum/topics?_type=web
下面是一个期望xml web service响应的url例子:
http://example.com/forum/topics?_type=ws_stateless
或者如下方便的简写形式:
http://example.com/forum/topics?_type=ws
下图展示了这个参数的使用方法,如上所述,type参数覆盖了http header的参数:
当用浏览器直接测试xml render方法的方法的时候,这种方法也很有用,可以直接看到结果。