我目前可以访问响应标头属性' X-Total-Count'由json-server设置,但我不知道如何获得价值...
在chrome-web-tools中,表示为
响应标题
HTTP/1.1 304 Not Modified
X-Powered-By: Express
X-Total-Count: 14
Access-Control-Expose-Headers: X-Total-Count, Link
Link: <http://localhost:8080/api/users?_sort=lastName%7Casc&_page=1&_limit=5>; rel="first", <http://localhost:8080/api/users?_sort=lastName%7Casc&_page=2&_limit=5>; rel="next", <http://localhost:8080/api/users?_sort=lastName%7Casc&_page=3&_limit=5>; rel="last"
X-Content-Type-Options: nosniff
ETag: W/"4a2-UH/ZrGuCnz4JcDB1ZNEu7sRXZro"
Date: Thu, 07 Dec 2017 07:42:32 GMT
Connection: keep-alive
我可以在我的server.js中访问它:
apiRouter.render = (req, res) => {
console.log('RES HEADERS: ', res.getHeaders())
console.log('RES TOTAL: ', res.getHeader('X-Total-Count'))
console.log('RES LINK: ', res.getHeader('Link'))
....
获取日志显示:
RES HEADERS: { 'x-powered-by': 'Express',
'x-total-count':
{ [Number: 14]
__wrapped__: { shoppinglists: [Array], users: [Array] },
__actions__: [ [Object], [Object], [Object] ],
__chain__: true,
__index__: 0,
__values__: undefined },
'access-control-expose-headers': 'X-Total-Count, Link',
link: '<http://localhost:8080/api/users?_sort=lastName%7Casc&_page=1&_limit=5>; rel="first", <http://localhost:8080/api/users?_sort=lastName%7Casc&_page=2&_limit=5>; rel="next", <http://localhost:8080/api/users?_sort=lastName%7Casc&_page=3&_limit=5>; rel="last"' }
RES TOTAL: { [Number: 14]
__wrapped__:
{ shoppinglists:
[ [Object],
...
[Object] ],
users:
[ [Object],
...
[Object] ] },
__actions__:
[ { func: [Function: get], args: [Object], thisArg: [Object] },
{ func: [Function: orderBy], args: [Object], thisArg: [Object] },
{ func: [Function: size], args: {}, thisArg: [Object] } ],
__chain__: true,
__index__: 0,
__values__: undefined }
但我怎样才能获得价值? :14 ....
感谢您的反馈
在json-server中,此响应头属性设置如下:
// Slice result
if (_end || _limit || _page) {
res.setHeader('X-Total-Count', chain.size())
res.setHeader(
'Access-Control-Expose-Headers',
`X-Total-Count${_page ? ', Link' : ''}`
)
}
答案 0 :(得分:1)
res.getHeader('X-Total-Count')是一个功能...所以需要写:
const total = res.getHeader('X-Total-Count')
console.log('TOTAL: ', total). // => displaying 14