无法从 fetch PUT 访问 Express 服务器的正文数据

2024-02-27

我对 Web 开发相当陌生,我正在尝试将一些 JSON 数据发送到运行 Express 的 Node.js 服务器,但我收到此错误:

加载失败http://本地主机:8888/ http://localhost:8888/: 方法 PUT 不被允许 预检响应中的访问控制允许方法。

我不懂这啥意思。这是客户端获取:

fetch('http://localhost:8888/', {
        method: 'PUT',
        body: JSON.stringify(this.exercises),
        headers: {
            'Content-Type': 'application/json'
        }
    }).then(res => res.json())
    .catch(err => console.error('Error: ' + err))
    .then(res => console.log('Success: ' + res));

这是服务器端代码:

app.put('/', (req, res, next) => {
    console.log('PUT request received');
    console.log(req.body);
});

服务器似乎没有收到请求。我该如何进行这项工作?提前致谢。


确保使用 bodyParser (要访问数据,我们必须使用 body-parser,它允许 Express 读取正文)。npm install --save body-parser

const bodyParser = require('body-parser');

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

设置cors

app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*');
  res.header(
    'Access-Control-Allow-Headers',
    'Origin, X-Requested-With, Content-Type, Accept, Authorization'
  );
  if (req.method === 'OPTIONS') {
    res.header('Access-Control-Allow-Methods', 'PUT, POST, PATCH, DELETE, GET');
    return res.status(200).json({});
  }
  next();
});

确保在定义路由之前定义配置。 cors的相关资料:https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法从 fetch PUT 访问 Express 服务器的正文数据 的相关文章

  • 在不同窗口的上下文中执行函数?

    假设顶部窗口中有一个功能 例如 function z alert window name 我们还假设该文档中有一个 iframe 同源 顶部窗口中的函数是否可以在另一个窗口的上下文中执行此函数 以便它显示 iframe 的名称而不是顶部窗口
  • 找出右键单击的 DOM 元素

    我使用以下代码片段来构建自定义上下文菜单
  • NodeJS + Express + Mongo 会话存储

    我目前在尝试在 MongoDb 中存储会话时遇到了很大的麻烦 我尝试过express session mongo和connect mongodb 当我尝试加载登录页面时 两者都给出了相同的 500内部服务器错误 这让我觉得也许在某个地方与
  • 使用 MapBox GL JS 无需访问令牌

    有没有办法使用MapBox GL JS没有访问令牌 我在文档中找不到任何提示MapBox GL JS https docs mapbox com mapbox gl js api 然而 Uber建议是可以通过他们的图书馆 https ube
  • Iron 路由器中的多个订阅

    我一直在开发一个使用评论功能的应用程序 这导致必须订阅发表评论的集合和评论集合本身 现在看起来像这样
  • Firebase 的云功能:序列化 Promise

    在 onWrite 处理程序中 我想执行多次读取 操作一些数据 然后存储它 我对 Promise 概念还很陌生 关于 Firebase 在完成之前不会终止我的查询 我对以下 Promise 处理是否安全 exports test funct
  • 打字稿地图迭代失败

    我正在使用下面的函数来比较两个地图 有趣的是 for 循环内的代码永远不会被执行 所以 console log key val 代码永远不会被执行 当然 我确保我正在比较的映射不为空并且大小相同 以强制执行 for 循环内的代码 我犯了一个
  • 使用 forEach 映射对象数组的 Object.entries 返回未定义,除非使用 console.log

    我有一个具有键值对的对象数组 我想在每个对象中找到特定的键并返回值 数组的示例 filterCounties StateName Delaware CountyName Kent FIPS 10001 Eligibles 2017 3329
  • 如何在没有 Web 服务器的情况下运行 ajax 代码?

    我在系统上没有服务器的情况下运行ajax 我用它创建了一个index html JavaScript 函数 function do the click url alert inside this method do the click aj
  • 在打字稿中读取和写入文本文件

    我应该如何从 Node js 中的 TypeScript 读取和写入文本文件 我不确定是否会在 node js 中读 写沙箱文件 如果没有 我相信应该有一种访问文件系统的方法 相信应该有一种访问文件系统的方法 Include node d
  • ionic 2 从 json 填充选择选项

    我正在尝试动态填充ion select带有 json 对象的下拉列表 我的 html 组件如下所示
  • 在 TypeScript 中使用三个 Js + OrbitControl

    我无法得到this http www example com 在 TypeScript 中使用上述组合的示例 I have and 在我的html中和打字稿文件
  • 如何让 ckeditor 停止删除空 div

    stackoverflow 上也有类似的问题 但这些问题的答案对我不起作用 所以请不要将其标记为重复 在我的 cms 中 我希望人们能够添加 SPA 单页应用程序 内容页面 此类应用程序通常只有一个具有某些属性的 div 并且使用 java
  • 查找返回的 mysql 结果中的行数(nodejs)

    当使用 felixge 的 mysql for node js 时 如何向结果对象询问返回的行数 我有一个相当昂贵的查询 所以我不想运行COUNT 首先 只是为了第二次运行查询 如果是选择查询 则只需获取返回数组的长度即可 connecti
  • 需要帮助在 D3.js 条形图中将 x 轴刻度与条形对齐

    我有一个可用的线性条形图D3 js http d3js org 它也有基于时间的 x 轴 条形图绑定到计数属性 而轴绑定到日期属性 轴上的刻度未与条形对齐 知道如何将它们两者排列起来吗 这是 jsFiddle http jsfiddle n
  • 有人可以解释以下涉及 Javascript 对象的双重赋值吗?

    这个问题在这里已经有答案了 var foo n 1 var bar foo foo x foo n 2 console log foo n 2 console log bar n 1 x n 2 有人能解释一下第三行发生了什么吗 线路foo
  • 在 JavaScript 中,将 NodeList 转换为数组的最佳方法是什么?

    DOM 方法document querySelectorAll 和其他一些 返回一个NodeList 对列表进行操作 例如使用forEach the NodeList必须首先转换为Array 转换的最佳方式是什么NodeList to an
  • 类型错误:无法读取未定义的属性“_id”

    我在将文档保存到名为的集合的简单发布请求中收到错误 TypeError 无法读取未定义的属性 id books 我的有效负载如下所示 name practical view author DN location room 50 而我只是在做
  • 如何使用ajax从服务器接收返回的数据?

    基本上我有一个带有用户名文本框和提交按钮的表单 现在我想要的是 当用户在文本框中输入文本时 它应该获取文本框值并将用户名发送到服务器 以便服务器可以检查该用户名是否被任何其他用户占用 我可以将文本值发送到服务器 但我不知道如何接收回一些数据
  • 未捕获的类型错误:未定义不是 indexOf 上的函数

    我目前有此代码来检查特定 ID 的网站 URL GET 选项 但每当运行此代码时 我都会收到一个奇怪的错误 Uncaught TypeError Undefined is not a function 这是我的代码 如果我能得到关于这个问题

随机推荐

  • WCF 位于公共反向代理后面,用于流量加密

    我有一个连接到 WCF 服务的 Silverlight 应用程序 在我习惯的基本配置下 将该应用程序连接到其相应的WCF服务没有问题 然而 最近 我的一位客户开始使用 Apache 反向代理 该代理是公共服务器 仅用于通过 SSL HTTP
  • 自定义 DataGridViewCheckBoxCell 视觉更新在编辑模式下不起作用

    我有以下内容DataGridViewCheckBoxCell 问题是视觉更新不会在编辑模式下立即发生 只有当我退出时才会发生 public class CustomDataGridViewCell DataGridViewCheckBoxC
  • 如何级联软删除?

    检查这些SO文章后 实体框架中的级联删除 https stackoverflow com questions 27293576 cascade delete in entity framework ef6 1 软删除与级联删除 https
  • flutter 中出现错误:widget_test.dart 无法检测到 MyApp()

    作为一个完全的初学者 我正在尝试各种 flutter 功能 但由于 widget test dart 文件中的错误 我陷入了运行 main dart 的困境 如果错误是由于其他原因造成的 请指出 main dart import packa
  • Fontawesome 5 与 VuetifyJs 1.0.0

    我想将 Fontawesome 5 Icons 与 VuetifyJs 一起使用 那可能吗 我应该使用哪个 npm 包来实现 fontawesome 因为没有人为我工作 作为一个没有经验的 VuetifyJs 开发人员 使用它确实让我感到困
  • 合并来自 Raphael svg 的图像

    尝试创造步骤 1 让用户通过 Ajax Raphael 和 Raphael freetransform 上传图像 步骤 2 单击 按钮显示合并上传图像中的一张图像 问题 我发现了关于转换 Raphael svg 的类似帖子1 https s
  • 出现导入错误:安装 auto-sklearn 时没有名为“sklearn”的模块

    为什么我得到ImportError No module named sklearn 安装时auto sklearn通过点 virtualenv p python3 automl cd automl source bin activate p
  • 如何从 C 读取 python pickle 数据库/文件?

    我正在努力与几个音乐播放器集成 目前我最喜欢的是 exexile 在新版本中 他们将数据库格式从 SQLite3 迁移到内部 Pickle 格式 我想知道是否有一种方法可以访问 pickle 格式文件 而无需手动对格式进行逆向工程 我知道有
  • 如何在 Blazor 中实现拖放?

    我知道 Blazor 是一项新技术 当前版本为 v0 5 1 不过 我目前正在为一个新的 Web 应用程序实现 PoC 我们希望在应用程序中具有拖放功能 我尝试以 Blazor 方式实现它 但它不起作用 我的放置目标 div class c
  • 将 YAML 反序列化为自定义类型

    我目前正在尝试将 YAML 文档反序列化为标准 NET 对象 例如string对于标量值和Dictionary
  • 在 CURL 中使用 cookie jar 时如何注入 cookie?

    我正在使用 php curl 并使用 cookie jar 进行多步抓取 我需要从服务器动态生成的cookie 但在某一步骤中 一些 cookie 是使用 JavaScript 生成的 由于curl不运行javascript 因此我需要在此
  • 分段寄存器的使用

    我试图了解内存管理如何在低水平上进行 并有几个问题 1 Kip R Irvine 写的一本关于汇编语言的书说 在实模式下 程序启动时前三个段寄存器会加载代码 数据和堆栈段的基地址 这对我来说有点模棱两可 这些值是手动指定的还是汇编器生成指令
  • 永远不会执行的 cron 作业

    有没有办法创建一个 cron 表达式来根本不运行作业 我想使用这个表达 0 0 0 1 1 3099 这实际上可以完成这项工作 因为它将在 3099 年运行 但是有没有更干净的方法来完成它 如果您即使在遥远的将来仍在寻找强大的东西 请尝试h
  • 如何修改 Elastic Beanstalk AWS 上的 NGINX 路由?

    所以我有一个very与将 Elixir 应用程序部署到 Elastic Beanstalk 相关的长篇文章 此处 HTTP 500 将 Elixir Phoenix 部署到 AWS Elastic Beanstalk https stack
  • 如何在 Google Cloud Console 的同意屏幕上更改电子邮件帐户?

    我被困住了 我创建这个应用程序已经有一段时间了 那时我只是使用我的帐户 现在 我想向用户提供与系统支持电子邮件相对应的不同电子邮件 有办法改变吗 更新 请参阅我的评论 这全都是关于现在登录用户 没有别的 为了更改与您的项目关联的电子邮件 您
  • 如何在.NET 4.5 Core中计算HMAC-SHA1身份验证代码

    我目前面临一个大问题 环境 NET 4 5 Core 我们需要使用 HMAC SHA1 算法通过密钥来保护消息 问题是命名空间的 HMACSHA1 类System Security Cryptography并且命名空间本身并不存在于 NET
  • 当涉及高度动画的用户界面时,openGL ES 是否比 Core Animation 和 UIKit 具有更好的性能?

    目前 我有一个用户界面 它大量使用了核心动画 我想知道是否值得再花两个月的时间来学习openGL ES 这真的能提高 2D 表面的绘图性能吗 我没有 3D 对象 而是高度动画的 2D 对象 有时会出现 3D 扭曲 大量旋转和缩放 特别是 我
  • C# Azure AD Graph 获取超过 20 人的组的所有成员

    我正在尝试从 Azure AD 获取特定组中的所有用户 目前有480名用户 当我获取它们时 我只得到 20 我认为这是默认设置 var users await gsc Groups GROUP ID Request Expand membe
  • 我是否仍然需要将 data-ng 与 AngularJS 一起使用,或者我可以删除 data- 吗?

    在我的应用程序中 data ng 随处可见 有人可以告诉我为什么需要数据吗 我读过一些有关 HTML5 验证的内容 但是如果我不关心它是否经过完全验证 并且如果我使用 IE8 及更高版本的浏览器 那么我是否仍然需要使用 data data
  • 无法从 fetch PUT 访问 Express 服务器的正文数据

    我对 Web 开发相当陌生 我正在尝试将一些 JSON 数据发送到运行 Express 的 Node js 服务器 但我收到此错误 加载失败http 本地主机 8888 http localhost 8888 方法 PUT 不被允许 预检响