允许使用 Express JS 和 HTML5 fetch() 进行跨域请求

2023-12-29

如何使用 ExpressJS 服务器和 Javascript 的获取来允许跨域请求?我认为这可能是一个问题fetch()来自客户,因为Access-Control-Allow-Origin: *位于响应的标头中。

我添加了这段代码,但它仍然不起作用:

app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "localhost:4200"); // update to match the domain you will make the request from
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
});

我注意到请求标头不包含有关 COR 的任何内容:

Accept  
text/html,application/xhtml+xm…plication/xml;q=0.9,*/*;q=0.8
Accept-Encoding 
gzip, deflate
Accept-Language 
en-US,en;q=0.5
Cache-Control   
max-age=0
Connection  
keep-alive
Host    
localhost:4200
If-None-Match   
W/"2ef-TFWfb4ktmG8ds+qhoRRzEvmkPdY"
Upgrade-Insecure-Requests   
1
User-Agent  
Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/68.0

前端代码:

export function createHttpObservable(url: string) {

    return Observable.create(observer => {

      fetch(url, {mode: 'cors'})
        .then(response => {
          return response.json();
        })
        .then(body => {
          observer.next(body);
          observer.complete();
        })
        .catch(error => {
          observer.error(error);
        })

      });

  }

Error:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:9000/api/courses. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

您可以使用cors中间件https://expressjs.com/en/resources/middleware/cors.html https://expressjs.com/en/resources/middleware/cors.html

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

允许使用 Express JS 和 HTML5 fetch() 进行跨域请求 的相关文章

  • JavaScript onTouch 不工作

    谁能告诉我为什么这个 onTouch 处理程序没有触发 var myDiv document getElementById existingContent var myButton a href log out a myDiv append
  • 使用 vscode 调试器调试 next.js

    我已经使用安装了一个项目创建下一个应用程序 https github com segmentio create next app 我需要使用我的编辑器 vscode 调试服务器端渲染 所以我访问过vscode recipes 如何调试 ne
  • 关闭选项卡时要求确认[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我在某些浏览器上关闭页面时 我希望出现一个消息框 并询问我是否真的要关闭页面 有两个按钮 如果我单击No那么这个标签就不会被关闭 我怎样
  • 每 3 秒重复一次动画

    我正在使用 WOW js 和 animate css 现在我正在将 CSS 运行到 Infinite 我想知道如何让我的课程运行 3 秒停止并再次开始到无限 My html img src images fork png class for
  • 如何重置使用 JavaScript 更改的 CSS 属性?

    我的导航按钮的宽度从 100px 增加到 150px 当鼠标悬停在 nav li hover width 150px 但是使用 javascript 我已经做到了 无论选择哪个选项 宽度都将继续为 150px 当选择每个选项时 它会使其他选
  • 使用 jQuery/JS 打开时使
    标签的内容具有动画效果

    我只想要 HTML5 的内容details标记为 滑行 动画打开 而不是仅仅弹出打开 立即出现 这可以用 jQuery Javascript 实现吗 Fiddle http jsfiddle net 9h4Hq HTML
  • 如何监听 jQuery AJAX 请求?

    以下两种实现 ajaxRequest 1 2 的方法应该是等效的 话说回来 为什么验证回调已执行的单元测试 3 在 1 中成功而在 2 中失败 我应该如何重写测试 3 来监视 2 中的成功回调 如果我尝试stub jQuery ajax使用
  • Javascript正则表达式用于字母字符和空格? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要一个
  • 除了更改标题之外,如何在 Firefox 中强制另存为对话框?

    有没有办法在 ff 中强制打开 www example com example pdf 的另存为对话框 我无法更改标题 如果您可以将文件以 Base64 格式输出到客户端 则可以使用 data uri 进行下载 location href
  • 从未用 @flow 标记的导入文件中获取类型定义

    TL DR我怎么告诉flow从未声明的导入模块导入类型定义 flow 加长版 流接缝能够从不使用流语法的文件中派生类型 请参阅示例 示例文件 flow js if Math random lt 0 5 var y hello else va
  • 如何将 Google Charts 与 Vue.js 库一起使用?

    我正在尝试使用 Vue js 库使用 Google Charts 制作图表 但我不知道如何添加到 div 这是我尝试做的 这是如何使用普通 javascript 添加图表 这是文档的代码示例 https developers google
  • Jquery/Javascript 上传和下载文件,无需后端

    是否可以在没有后端服务器的情况下在 JavaScript 函数中下载和上传文件 我需要导出和导入由 JavaScript 函数生成的 XML 我想创建按钮 保存 xml 来保存文件 但我不知道是否可行 另一方面 我希望将 XML 文件直接上
  • 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?

    我正在使用 google 的 CDN 并尝试使用他们的加载程序加载我自己的 AMD 模块 我知道我做错了什么 但我被困住了 有任何想法吗
  • 如何使输入字段和提交按钮变灰

    我想变灰这两件事 http doorsplit heroku com 歌曲输入字段和提交按钮 直到用户输入艺术家 有没有一种简单的方法可以通过 JQuery 来做到这一点 艺术家输入字段的id是 request artist 你可以这样做
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • 如何在类似控制台的环境中运行 JavaScript?

    我正在尝试遵循这里的示例 http eloquentjavascript net chapter2 html http eloquentjavascript net chapter2 html and print blah 在浏览器中运行时
  • 有没有办法阻止 prettier / prettier-now 将函数参数分解为新行

    当使用 prettier prettier now 在保存时进行格式化时 当一个函数包装另一个函数时 它会中断到一个新行 我想知道是否有办法阻止这种行为 例如 期望的输出 app get campgrounds id catchAsync
  • 为什么 jquery 没有检测到单选按钮未被选中的情况? [复制]

    这个问题在这里已经有答案了 可能的重复 JQuery radioButton change 在取消选择期间不会触发 https stackoverflow com questions 5176803 jquery radiobutton c
  • 使用 Ajax 请求作为源数据的 Jquery 自动完成搜索

    我想做的事 我想使用 jquery 自动完成函数创建一个输入文本字段 该函数从跨域curl 请求获取源数据 结果应该与此示例完全相同 CSS 在这里并不重要 http abload de img jquerydblf5 png http a
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示

随机推荐

  • Silverlight 是否比 JavaScript 具有性能优势?

    在最近一次有关 Silverlight 的讨论中 提到了速度的优势 Silverlight 的论点是 它在浏览器中的性能比 Javascript 更好 因为它是编译 和托管 代码 然后有人指出 这一优势仅适用于 IE 因为与 Chrome
  • 如何编写代码来为android中的数组创建共享首选项?

    我正在工作android 我想在我的代码中进行共享首选项 但我不知道如何对数组进行共享首选项以及如何在另一个类中使用该共享首选项的值 这是我在一个 for 循环中的数组 urls i sitesList getWebsite get i 我
  • 使用 Week No 在 MySql 中获取一周的第一天

    如何获取周数可用的给定周的第一天 例如 当我写这篇文章时 我们位于WEEK 29 我想编写一个将返回的 MySQL 查询7 月 18 日星期日使用这个第 29 周作为唯一可用的参数 这是根据当前日期获取一周第一天和一周最后一天的准确方法 a
  • Chrome 扩展程序 .pem 文件有什么用?

    当我创建第一个 Google Chrome 扩展程序时 我按照迷宫般的说明进行操作 最终成功启动了扩展程序 我还成为了一个神秘的 pem 文件的新所有者 我被警告将其放置在安全的地方并且永远不要丢失 我认真地将文件放在安全的地方 并可能在处
  • Android 全局变量在 Service 中不起作用

    我很困惑为什么我无法从我的服务访问我的全局变量 我可以从其他活动中访问它们就好了 全局变量类 public class Global extends Application private static final String TAG G
  • C# MS Exchange 将电子邮件移动到文件夹

    Added 感谢用户 grapkulec 我正在使用 using Microsoft Exchange WebServices Data 我正在尝试将电子邮件移动到我已在 Outlook 中创建的文件夹 使用 MS Exchange 到目前
  • 使用节点的字符串表示形式访问 stdClass 对象上的嵌套属性

    给定一个保存该字符串的变量 property parent gt requestdata gt inputs gt firstname 还有一个对象 obj gt parent gt requestdata gt inputs gt fir
  • 获取忽略 Null 或零值的 AVG

    我怎样才能得到AVG忽略一列NULL和零值 我有三列来获取它们的平均值 我尝试使用以下脚本 SELECT distinct AVG cast ISNULL a SecurityW 0 as bigint as Average1 AVG ca
  • 修复 AngularJS 错误:提供程序必须从 $get 工厂方法返回值

    当我使用下面的代码时 出现以下错误 提供者 登录 必须从 get 工厂方法返回一个值 我已经查看了 stackoverflow 帖子here https stackoverflow com questions 27738903 provid
  • 如何在Struts 2中提交多个Line Item?

    我确实有一个购买请求表单 它动态创建行ItemName quantity specification unit of measurement 我确实有一个名为 添加项目 的按钮 它可以动态创建新行 当我提交此表单时 如何将其放入 Strut
  • Blazor 项目中的 C++ DLL

    我正在尝试将我用 C 编写的小型桌面应用程序引入 Blazor 但我遇到了本机 dll 的墙 我有一个自己的 C dll 我不知道如何将其带到 blazor 目前在桌面应用程序中我正在使用以下方法 DllImport C Users amg
  • 使用 ActivityUnitTestCase 时出现 RuntimeException,但使用 ActivityInstrumentationTestCase2 时则不会出现 RuntimeException

    我正在尝试使用 ActivityUnitTestCase 测试 Android 应用程序的 MainActivity 由于某种原因 我什至无法启动测试 因为它失败并出现以下错误跟踪 java lang RuntimeException Ex
  • Rails:使用 Kaminari 进行自定义偏移分页

    我正在使用 Kaminari 进行分页 在某种情况下需要第一页仅包含 2 个条目 而每个页面包含 6 个条目 我认为这是可以使用padding 但它似乎不像我预期的那样工作 文档也没有多大帮助 a 1 20 to a b Kaminari
  • 将 R 数据集中的 -inf、NaN 和 NA 值替换为零

    我正在尝试在 R 中运行一些交易策略 我已经下载了一些股票价格并计算了回报 新的返回数据集具有多个 inf NaN 和 NA 值 我正在复制数据集的一行 log ret 它是一个动物园数据集 library zoo log ret lt s
  • 使用 javascript 将文件下载为 .csv 文件

    我正在尝试将文件导出为 csv 文件 以便当用户单击下载按钮时 浏览器会自动将该文件下载为 csv 我还希望能够为要导出的 csv 文件设置名称 我正在使用 javascript 来执行此操作 代码如下 function ConvertTo
  • Selenium - 无法找到自由端口

    我正在 FreeBSD 服务器上运行一个依赖于 selenium 的应用程序 在启动过程中我遇到了异常 Caused by java lang RuntimeException Unable to find a free port at o
  • ASP.NET Core - 提供静态文件[重复]

    这个问题在这里已经有答案了 我正在关注此文档 但我遇到了困难 https learn microsoft com en us aspnet core fundamentals static files https learn microso
  • 如何使用 Org 模式在 HTML 导出中格式化帖子?

    我正在使用组织模式创建一个网站 并希望格式化帖子 以便它只显示创建日期和创建者在页面底部的中心 并且是水平的 在我的 emacs 中我有 setq org export html postamble format Last Updated
  • React、Emmet、Visual Studio Code 和 CSS 模块

    有没有办法在 Visual Studio 代码中配置 emmet 以使用 React 的 CSS 模块 当我打字时 div container然后点击 tab 它就变成了 div div 这里的问题是它没有使用 CSS 模块 我希望它变成这
  • 允许使用 Express JS 和 HTML5 fetch() 进行跨域请求

    如何使用 ExpressJS 服务器和 Javascript 的获取来允许跨域请求 我认为这可能是一个问题fetch 来自客户 因为Access Control Allow Origin 位于响应的标头中 我添加了这段代码 但它仍然不起作用