PUT 请求与 CORS-anywhere

PUT requests with CORS-anywhere

我正在使用 cors-anywhere 作为某种代理服务器来克服我遇到的一些 cors 问题。我的项目只需要 GET 和 PUT 请求。 cors-anywhere 解决了我所有的 cors 和 GET 问题,但现在使用 PUT 我收到 500 错误。以下是我如何设置我的服务器并发出 PUT 请求:

//setting up server
var host = process.env.HOST || '0.0.0.0';
var cors_proxy = require('cors-anywhere');
cors_proxy.createServer({
    originWhitelist: [], // Allow all origins
    removeHeaders: ['cookie', 'cookie2']
}).listen(8000, host, function() {
    console.log('Running CORS Anywhere on ' + host + ':' + 8000);
});

//making call
let result = await fetch(`http://localhost:8000/${apiUrl}`, {
   method: 'PUT",
   mode: 'cors',
   body: JSON.stringify({"value":"true"})
});
let json = await result.json();
console.log(json);

这里的所有内容都适用于 GET 请求,当通过我的 TypeScript 和 JavaScript 项目完成时,PUT 请求会出现 500 错误。如果我使用具有相同 URL 的 Postman,一切都会完美无缺。对正在发生的事情有什么想法吗?

感谢您的帮助。

刚刚发现问题。我没有在 PUT 提取请求 header 中声明内容类型。正确的看起来像这样:

let result = await fetch(`http://localhost:8000/${apiUrl}`, {
   method: 'PUT",
   mode: 'cors',
   headers: {
      'Content-Type': 'application/json'
   },
   body: JSON.stringify({"value":"true"})
});