【发布时间】:2020-02-25 14:13:02
【问题描述】:
我的 Axios Post 请求被 401 拒绝,我不确定是什么原因造成的,CSRF 令牌应该是正确的。
await axios.post(url, {
withCredentials: true,
params: {
json: true,
},
auth: {
username: 'stack',
password: 'overflow'
},
headers: {
'X-Requested-With': 'XMLHttpRequest',
"X-CSRF-Token": csfrToken
}
})
【问题讨论】:
-
我们不知道为什么服务器拒绝它。我们看不到服务器端代码。 (假设它是获取 401 的 POST 请求,而不是您未提及的预检选项请求)。
-
我自己看不到服务器代码,因为我将其发送到 SAP 系统的 OData。如何检查预检选项?我没有配置任何东西
-
您添加了非标准标题。该配置将触发预检。浏览器开发者工具的“网络”选项卡将显示您发送的请求。
-
我不完全确定在哪里可以找到预检标头,我使用开发人员工具的请求选项卡中的屏幕截图编辑原始帖子
-
X-Requested-With和X-CSRF-Token都是非标准标头,会触发预检。withCredentials将触发预检。
标签: javascript post axios token