javascript - OPTIONS 方法未请求凭据,401
问题描述
我试图通过 fetch 将一些数据发布到 API 服务器。服务器是一个 ASP.NET Web API,.NET Framework v4.5。在 IIS 上发布,仅启用 Windows 身份验证。
但是,帖子的预检请求标头不包含 cookie。所以我收到了“401 Unauthorized”错误。
我的 fetch 请求代码和来自 chrome 的请求标头。
fetch(url,
{
method: 'POST',
mode: 'cors',
headers: {
'Accept': 'application/json, text/plain, */*',
'Content-Type': 'application/json'
},
body: JSON.stringify(loaItem),
credentials: 'include'
})
OPTIONS /api/loasdup HTTP/1.1
Host: localhost:4501
Connection: keep-alive
Access-Control-Request-Method: POST
Origin: http://localhost:8081
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/67.0.3396.99 Safari/537.36
Access-Control-Request-Headers: content-type
Accept: */*
Referer: http://localhost:8081/loa/copy/LOA201807120000
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
有任何想法吗?
IIS 中的响应标头:
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: *
Access-Control-Allow-Methods: *
Access-Control-Allow-Origin: http://localhost:8081
解决方案
推荐阅读
- javascript - 通过用户 id 获取 firestore 文档
- shopify - 如何在液体中为购买按钮输出 themekit 配置
- android - Android 11 上的 Android 通知 setFullScreenIntent 操作按钮不需要的边框
- python - 为什么我的 zip 返回的项目不能在 Python 中应用两次?
- r - 根据另一列的下一行的值创建具有值的列
- windows - 除了 AppData、文档之外,用户数据是否存储在其他任何地方
- websocket - 在 Micronaut 中使用 RxJava 进行 Websocket 请求路由
- android - 创建 MutableList 时这意味着什么?
- function - TypeError:行不是函数
- node.js - 优化redis的问题