做一个单页网站,用ajax时,相应的后端用node要怎么写

菜鸟遇到的问题是:pjax改变url,并作相应刷新局部页面。但是如果直接进入到这个url,就会出现问题(页面显示Ajax返回的JSON数据),求大神提供个正确思路
慕桂英4014372
浏览 419回答 2
2回答

30秒到达战场

我的方法是用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

倚天杖

如果后端用了express框架的话就好办了。res.format({'text/html':function(){//这里是直接用url访问的render逻辑//res.render('products',{...});},'application/json':function(){//这里是ajax方式的逻辑//res.send({...});}});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript