菜鸟遇到的问题是:pjax改变url,并作相应刷新局部页面。但是如果直接进入到这个url,就会出现问题(页面显示Ajax返回的JSON数据),求大神提供个正确思路
2 回答
30秒到达战场
TA贡献1828条经验 获得超6个赞
我的方法是用Accept头来判断请求类型。比如对于同样一个url,/products:请求的时候设置accept为text/html,方法为get,则会返回一个html页面。如果accept为application/json,方法为get,则返回一个json格式的product列表。/products?limit=20则会返回列表中前20个项目。如果accept为application/json,方法为put,则会添加一个product。大概就是这样,通过url,httpmethod,accept来控制请求的结果,RequestURL:/productsRequestMethod:GETRequestHeadersAccept:application/json,text/plain,*/*ResponseHeadersdate:Sun,24Nov201307:02:46GMTitems-count:3page-count:1page-number:1page-step:20Server:BWS/1.0vary:Accept-Encodingx-powered-by:Express
倚天杖
TA贡献1828条经验 获得超3个赞
如果后端用了express框架的话就好办了。res.format({'text/html':function(){//这里是直接用url访问的render逻辑//res.render('products',{...});},'application/json':function(){//这里是ajax方式的逻辑//res.send({...});}});
添加回答
举报
0/150
提交
取消