2017-12-07 2 views
1

私は現在、json-serverによって設定されたレスポンスヘッダープロパティ 'X-Total-Count'にアクセスできますが、値を取得する方法はわかりません...Node8/Expresss 4特定の応答ヘッダープロパティの値を取得する方法は?

クロムウェブツールでは、

レスポンスヘッダ

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サーバにフィードバック

ためのおかげでは、この応答ヘッダプロパティは以下のように設定されている:

// 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

は、あなたが文字列を取得する必要があります:FUNCTIONがある...ので、書く必要があります –

+0

ありがとうございますrフィードバック..解決された、それは返された関数だ – erwin

答えて

1

res.getHeader( 'X-全カウント') https://nodejs.org/api/http.html#http_response_getheader_name:response.getHeaderのマニュアルに従って、奇妙

 const total = res.getHeader('X-Total-Count') 
    console.log('TOTAL: ', total). // => displaying 14 
関連する問題