我目前可以访问由 json-server 设置的响应头属性“X-Total-Count”,但我看不到如何获取该值...
在 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' : ''}`
)
}