为了账号安全,请及时绑定邮箱和手机立即绑定

Header头怎么传递数据?

Header头怎么传递数据?

PHP
慕斯王 2019-03-16 15:17:19
我看别人说header头可以传递token值 请问是怎么传递的呢?能举个例子吗
查看完整描述

6 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

在浏览器中,你可以使用 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');
});
查看完整回答
反对 回复 2019-03-18
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-03-18
?
湖上湖

TA贡献2003条经验 获得超2个赞

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

查看完整回答
反对 回复 2019-03-18
?
当年话下

TA贡献1890条经验 获得超9个赞

我做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就是个数组了。
查看完整回答
反对 回复 2019-03-18
?
隔江千里

TA贡献1906条经验 获得超10个赞

https://img1.sycdn.imooc.com//5c8f457e0001518d06790476.jpg

header包含的数据格式是key-value

在页面可以使用ajax设置值:xhr.setRequestHeader('k', 'v');

查看完整回答
反对 回复 2019-03-18
  • 6 回答
  • 0 关注
  • 1085 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信