我的项目是在Node和Express后端上运行的。
我正在尝试使用Arangojs在客户端查询我的Arango数据库。ArangoDB在Digital Ocean上通过Docker运行。我没有问题在服务器端查询我的数据库,然而在页面加载时我收到以下错误:
无法加载 http://0.0.0.0:8529/_db/database/_api/cursor:预检请求未通过访问控制检查:响应中“Access-Control-Allow-Credentials”头的值为“false”,当请求的凭据模式为“include”时必须为“true”。因此,源“http://localhost:3000”不允许访问。XMLHttpRequest发起的请求的凭据模式由withCredentials属性控制。
我的客户端JavaScript代码如下:
var db = new arangojs.Database({url:'http://0.0.0.0:8529'})
db.useDatabase(dbase)
db.useBasicAuth("database", 'password')
db.query('FOR doc IN docs RETURN doc') // etc. etc.
编辑: 一年后回顾,这个问题有点愚蠢 - 正确的答案是不要通过客户端JS公开数据库凭据...与后端通信,并让后端与数据存储通信。