当前位置: 首页 > 知识库问答 >
问题:

对于Angular 7,缺少POST和命令错误头使用HTTP API

叶弘深
2023-03-14

我使用Angular 7和Orientdb 3.0.14。我想连接到我的数据库demodb在localhost。

这是我的命令代码:

command(statement: string, success: (data: any) => void, error: (err: any) => void): void {
    this.url = this.url + 'sql/-/-1';
    this.headers = new HttpHeaders()
      .set('Access-Control-Allow-Origin', 'http://localhost:4200')
      .set('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, DELETE')
      .set('Access-Control-Max-Age', '3600')
      .set('Access-Control-Allow-Credentials', 'true')
      .set('Access-Control-Allow-Headers', 'Content-Type, authorization')
      .set('Authorization', 'Basic ' + btoa(this.username + ':' + this.password))
      .set('Content-Type', 'application/json');
      console.log(this.headers);
    this.http.post(this.url,
      JSON.stringify({'command': statement}),
      {headers: this.headers})
      .toPromise()
      .then(success)
      .catch(error);

但我在控制台上有一个错误:

HttpHeader

地图(7)大小:(...)原型:地图[[条目]]:

数组(7)0:{“访问控制允许源”=

数组(1)}键:访问控制允许方法值:[POST, GET, OPTIONS, DELETE]

2:{“访问控制最大年龄”=

3:{"访问-控制-允许-凭证"=

4:{“访问控制允许标头”=

5:{“授权”=

6:{"内容类型"=

原型:对象核心。js:16819 Angular正在开发模式下运行。调用enableProdMode()以启用生产模式。localhost/:1访问位于'http://localhost:2480/command/demodb/sql/-/-1“起源”http://localhost:4200'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在'access control Allow Origin'标头。

请参阅“访问控制”\u“允许原点进入标题”。。但OriendDB不接受

你能帮助我吗?谢谢

共有1个答案

许琛
2023-03-14

在OrientDB中,默认情况下不启用CORS,并且尝试实现CORS的方式没有帮助。

config/orientdb-server-config.xml中添加此条目

<parameter name="network.http.additionalResponseHeaders" value="Access-Control-Allow-Origin: * ;Access-Control-Allow-Credentials: true;Access-Control-Allow-Headers: Content-Type;Access-Control-Allow-Methods: POST, GET, DELETE, HEAD, OPTIONS, PATCH, CONNECT, TRACE " />

在上面

<parameter value="utf-8" name="network.http.charset"/>

在冒号之后不要使用空格也很重要

 类似资料:
  • 问题内容: 最近,我不得不在PC上重新安装Linux Mint。我重新安装了所有库,例如GLFW,并遇到了从未见过的错误。不幸的是,由于无法找到对我有用的修复程序,我的google- fu技能似乎无法弥补这个错误。旁注:这些程序在我的旧安装中可以很好地编译,并且在运行Linux Mint 17.2的笔记本电脑上也可以完美地编译。 这是我用来编译的编译语句: 这是终端向我吐出的东西: 所以,如果有人

  • 问题内容: 我对使用Windows的Linux(使用Ubuntu 14.04 LTS 64位)非常陌生,并且正尝试移植到我现有的CUDA项目上。 通过链接时 我遇到以下错误: 答案似乎与本文中的解决方案密切相关(奇怪的链接错误:命令行中缺少DSO),尽管鉴于我对Linux的经验不足,所以我无法使其适应我的问题。 关于可能的问题有什么想法? 这是编译期间的完整输出:https : //gist.gi

  • 问题内容: 我正在尝试像这样编译C ++程序: 但是我收到以下错误: 我不知道这个错误是什么意思。任何帮助将不胜感激。 问题答案: DSO在这里表示动态共享对象;由于错误消息指出命令行中缺少该消息,因此我想您必须将其添加到命令行中。 也就是说,尝试添加到命令行。

  • 当我尝试注册以下代码时,会出现此错误:code 下图中出错

  • 尝试使用Visual Studio Code上的npm start命令运行节点应用程序时收到此错误。非常感谢任何帮助! 这是我包裹里的东西。json文件: 这是我运行代码时终端上的消息:

  • 下面是完整的输出:-