我用角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接受
你能帮助我吗 ?谢谢。
在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"/>
同样重要的是结肠;
后不使用空间