猿问

Header头怎么传递数据?

我看别人说header头可以传递token值 请问是怎么传递的呢?能举个例子吗

慕斯王
浏览 1086回答 6
6回答

万千封印

在浏览器中,你可以使用 XMLHttpRequset 在头部传递传递token值 var xhr = new XMLHttpRequest(); xhr.open('get','/index'); xhr.setRequestHeader('token', 'xxxxx'); // xxxx 就是你的token值 xhr.send(); // xhr.getResponseHeader('token') // 可以获取从服务器带来的 token值 而在服务器端,以express举例 const app = new express(); app.get('/index', (req, res) => { req.header('token') // 获取从浏览器端传送过来的token 值 res.status(200); res.header('token', 'xxxxx'); // xxxxx 就是你的token值 res.send('hello world'); });

明月笑刀无情

自定义一个header,譬如叫x-token,然后值就是你的token

湖上湖

也可以放在cookie中,客户端服务端也都能拿到

当年话下

我做sso就直接用header传的token checksum等数据。 传输(curl时): curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'xxxx你定义的header数据名 '. 'xxxx您要传的token/checksum等等')); 获取: $headers = array (); foreach ( $_SERVER as $name => $value ) { if (substr ( $name, 0, 5 ) == 'HTTP_') { $headers [str_replace ( ' ', '-', ucwords ( strtolower ( str_replace ( '_', ' ',substr ( $name, 5 ) ) ) ) )] = $value; } } //$headers就是个数组了。

隔江千里

header包含的数据格式是key-value 在页面可以使用ajax设置值:xhr.setRequestHeader('k', 'v');
随时随地看视频慕课网APP
我要回答