Javascript fetch POST 请求 formdata 大小限制 CORS 错误? [已关闭]

问题描述 投票:0回答:1

我正在尝试向我们的业务 API 之一(运行 .NET Core 3.1/ASP Core MVC 的后端)发出非常简单的获取请求,但它给了我不一致的结果。如果通过表单数据字段传递的令牌值的长度大于大约 1000 个字符,则请求将因 CORS 错误而停止(相当标准的“已被 CORS 策略阻止:没有‘Access-Control-Allow-Origin’标头”存在于所请求的资源上”),但低于该长度,请求将不会出现问题。在 Chrome 或 Firefox 上运行都会出现有关缺少此标头值的 CORS 错误。 API 本身或其运行的 IIS 服务器中设置的输入大小没有任何具体限制,因此我对可能发生的情况感到困惑。

我假设这是 CORS 错误实际上只是掩盖其他正在发生的事情的情况之一。有什么明显的我忽略的事情吗?

obj = {
    data: {
        idToken: "A".repeat(1200) // just for testing purposes
    }
};

str = JSON.stringify(obj);

const fd = new FormData();
fd.append("token", str);

const BaseURL = "https://XXXX";
const url = `${BaseURL}/api/YYY/getLocations`;

fetch(url, {
    method: 'post',
    body: fd,
})
.then... 
javascript cors size fetch-api form-data
1个回答
0
投票

事实证明,处理所有外部可见 API 请求的网络设备对所有传入请求施加了严格的大小限制。一旦提升到更高的水平,一切都会按预期进行。

© www.soinside.com 2019 - 2024. All rights reserved.