Angular 使用HttpClient向neo4j发出Post请求时出错
我试图向neo4j数据库发出post请求,但控制台中出现错误 错误如下: 在“”处访问XMLHttpRequest 来自源“”已被CORS策略阻止: 请求的服务器上不存在“Access Control Allow Origin”标头 资源 “网络”选项卡中的响应为:Angular 使用HttpClient向neo4j发出Post请求时出错,angular,neo4j,Angular,Neo4j,我试图向neo4j数据库发出post请求,但控制台中出现错误 错误如下: 在“”处访问XMLHttpRequest 来自源“”已被CORS策略阻止: 请求的服务器上不存在“Access Control Allow Origin”标头 资源 “网络”选项卡中的响应为: { "errors" : [ { "message" : "Invalid username or password.", "code" : "Neo.ClientError.Security.Authoriza
{
"errors" : [ {
"message" : "Invalid username or password.",
"code" : "Neo.ClientError.Security.AuthorizationFailed"
} ]
}
我的类型脚本代码是:
const headers = new HttpHeaders().set('Content-Type', 'application/json');
headers.set('Accept', 'application/json; charset=UTF-8')
headers.set('Authorization', 'Basic ' + btoa('username=rbs:password=rbs'))
this.httpService.post("http://localhost:7474/db/data/cypher", {
"query": "match (a:Product) -->(b:Functions)--> (c:Subfunctions) return a,b,c"
},
{ headers }).subscribe(
data => {
debugger
this.graphdata = data;
},
(err: HttpErrorResponse) => {
debugger
console.log(err.status);
}
);
这是一个CORS问题。当您尝试调用API或其他服务时,如果您有不同的主机或端口() 试着像这篇文章一样解决在你的角上包含一个代理的问题() 对于Angular应用程序,我有一个名为“proxy.conf.json”的文件,配置如下:
{
"/api/*": {
"target": "http://localhost:8080",
"secure": false,
"changeOrigin": true,
"logLevel": "debug"
}
}
我呼吁npm从以下内容开始:
"start": "ng serve --proxy-config proxy.conf.json",
我的后端路由是在环境文件“environment.ts”中配置的
另一种解决方法是在Chrome或Firefox中安装CORS扩展
希望这对你有帮助
export const environment = {
production: false,
apiBaseUrl: 'http://localhost:4200/api/'
};