Javascript 如何根据Sails.js中的请求使用HTML或JSON进行响应
假设我有一个名为Javascript 如何根据Sails.js中的请求使用HTML或JSON进行响应,javascript,node.js,sails.js,Javascript,Node.js,Sails.js,假设我有一个名为User的模型,它具有基本的REST CRUD(GET、POST、DELETE、UPDATE) 当我转到user/4(其中4是不存在的用户ID)时,有两种情况: 如果我使用Postman这样的REST客户机,我会得到一个404,其他什么都没有 如果我在浏览器上,我会得到一个404页面(包含文本、图像等),它是在views文件夹中定义的 如何为findOne、find和其他URL实现这一点?我希望能够为不同类型的请求提供仅JSON响应和HTML页面响应。但是我不想重写这些函数,因为
User
的模型,它具有基本的REST CRUD(GET、POST、DELETE、UPDATE)
当我转到user/4
(其中4是不存在的用户ID)时,有两种情况:
findOne
、find
和其他URL实现这一点?我希望能够为不同类型的请求提供仅JSON响应和HTML页面响应。但是我不想重写这些函数,因为ORM已经做了很多我不想丢失的工作
编辑:我的解决方案是在API中留下前缀,例如/API/user/4
,而HTML响应中没有前缀user/4
,但我希望看到更优雅的解决方案
编辑2:我刚刚决定全部使用JSON,只使用带有独立前端的REST服务;) 如果您可以控制API客户端发送的头,我会看到两个基于发送的头的干净语义解决方案:
- 您可以依靠
头来识别Ajax查询X-request-With:XMLHttpRequest
- 依靠
头显式请求jsonAccept:text/json
user/4.html
=>send html,user/4
=>send json