Javascript 获取 POST 请求表单数据大小限制 CORS 错误?
Javascript fetch POST request formdata size limitation CORS error?
我正在尝试向我们的一个企业 API 发出一个非常简单的获取请求(后端 运行 .NET Core 3.1/ASP Core MVC),它给了我一个不一致的结果。如果通过表单数据字段传递的令牌值的长度大于大约 1000 个字符,则请求会因 CORS 错误而停止(漂亮的标准“已被 CORS 策略阻止:No 'Access-Control-Allow-Origin' header出现在所请求的资源上”),但低于该长度,请求将顺利通过。 运行 在 Chrome 或 Firefox 上都给我一个关于缺少此 header 值的 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...
事实证明,处理对我们所有外部可见 API 的请求的网络设备对所有传入请求施加了严格的大小限制。一旦将其提升到更高的水平,一切都按预期进行。
我正在尝试向我们的一个企业 API 发出一个非常简单的获取请求(后端 运行 .NET Core 3.1/ASP Core MVC),它给了我一个不一致的结果。如果通过表单数据字段传递的令牌值的长度大于大约 1000 个字符,则请求会因 CORS 错误而停止(漂亮的标准“已被 CORS 策略阻止:No 'Access-Control-Allow-Origin' header出现在所请求的资源上”),但低于该长度,请求将顺利通过。 运行 在 Chrome 或 Firefox 上都给我一个关于缺少此 header 值的 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...
事实证明,处理对我们所有外部可见 API 的请求的网络设备对所有传入请求施加了严格的大小限制。一旦将其提升到更高的水平,一切都按预期进行。