随着POST和命令错误标题缺少角7使用HTTP API

问题描述 投票:2回答:1

我用角7和Orientdb 3.0.14。我想连接到本地主机我的数据库demodb的。

这是我的命令代码:

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);

但我已经在控制台此错误:

HttpHeaders {normalizedNames:地图(0),lazyUpdate:阵列(7),标头:地图(0),lazyInit:HttpHeaders}头:

地图(7)尺寸:(...)原:地图[报名]:

阵列(7)0:{“访问控制允许来源” =>数组(1)}键:“访问控制允许来源”值:[“http://localhost:4200”] 1:{“访问控制 - 允许 - 方法” =>

阵列(1)}键: “访问控制 - 允许的方法” 的值:[ “POST,GET,OPTIONS,DELETE”]

2:{“访问控制 - 最大年龄” =>阵列(1)}键:“访问控制 - 最大年龄”的值:[“3600”]

3:{“访问控制 - 允许的凭证” =>阵列(1)}键:“访问控制 - 允许的凭证”的值:[“真”]

4:{“访问控制 - 允许报头” =>阵列(1)}键:“访问控制 - 允许报头”的值:[“内容类型,授权”]

5:{ “授权”=>阵列(1)}键: “授权” 的值:[ “基本YWRtaW46YWRtaW4 =”]

6:{ “内容类型”=>阵列(1)}键: “内容类型” 的值:[ “应用/ JSON”]长度:7lazyInit:nulllazyUpdate:nullnormalizedNames:地图(7){“访问控制 - 允许-origin“=>‘访问控制允许来源’,‘访问控制允许的方法’=>‘访问控制允许的方法’,‘访问控制,最大年龄’=>”访问 - 控制 - 最大 - 年龄”,‘访问控制允许的凭据’=>‘访问控制允许的凭据’,‘访问控制,允许报头’=>‘访问控制允许报头’,... }

原:对象core.js:16819角在开发模式下运行。呼叫enableProdMode(),使生产模式。本地主机/:在从原点“http://localhost:2480/command/demodb/sql/-/-1”“http://localhost:4200” 1次访问的XMLHttpRequest已被阻止通过CORS政策:响应预检请求未通过访问控制检查:否“访问控制允许来源”标头是存在于请求的资源。

见接入Control_allow原产地是为header..but不是OriendDB接受

你能帮助我吗 ?谢谢。

angular cors orientdb
1个回答
1
投票

在OrientDB 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"/>

同样重要的是结肠;后不使用空间

© www.soinside.com 2019 - 2024. All rights reserved.