如何用javascript 获取token
时间: 2024-09-06 21:06:29 浏览: 62
在vue中获取token,并将token写进header的方法
在JavaScript中获取token,特别是CSRF token,通常是在发送HTTP请求(比如Ajax请求)时添加到请求头或者作为URL查询参数或表单数据的一部分。以下是几种常见的做法:
1. **在Ajax请求头中**: 使用fetch API 或 Axios 等库:
```javascript
fetch('your-api-url', {
headers: {
'X-CSRF-Token': localStorage.getItem('csrfToken') || sessionStorage.getItem('csrfToken') // 从本地存储获取token
},
method: 'POST',
body: JSON.stringify({ data: ... }),
});
```
2. **在HTML form提交**: 将token放在`hidden`字段中:
```html
<form id="yourForm" action="your-action" method="POST">
<input type="hidden" name="_csrf" value="<%= csrfToken %>" /> <!-- 这里的<%=%>是服务器端模板语言表达式 -->
</form>
<script>
document.getElementById('yourForm').submit();
</script>
```
3. **使用jQuery $.ajax()**: 添加`beforeSend`函数来添加token到headers:
```javascript
$.ajax({
url: 'your-api-url',
type: 'POST',
beforeSend: function(xhr) {
xhr.setRequestHeader('X-CSRF-Token', $('meta[name=csrf-token]').attr('content')); // 从meta标签获取
},
data: { yourData: ... },
});
```
确保在获取token之前已经将其存储在合适的客户端存储(如localStorage或sessionStorage)中。如果token是从服务器返回的,则需要将它保存下来并适当地刷新或更新。
阅读全文