为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕桂英4014372 2019-04-08 11:17:12
菜鸟遇到的问题是: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:/products
RequestMethod:GET
RequestHeaders
Accept:application/json,text/plain,*/*
ResponseHeaders
date:Sun,24Nov201307:02:46GMT
items-count:3
page-count:1
page-number:1
page-step:20
Server:BWS/1.0
vary:Accept-Encoding
x-powered-by:Express
                            
查看完整回答
反对 回复 2019-04-08
?
倚天杖

TA贡献1828条经验 获得超3个赞

如果后端用了express框架的话就好办了。
res.format({
'text/html':function(){
//这里是直接用url访问的render逻辑
//res.render('products',{...});
},
'application/json':function(){
//这里是ajax方式的逻辑
//res.send({...});
}
});
                            
查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 418 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信