我正在尝试从 Vuejs 应用程序的 ArangoDb 数据库集合中获取文档。当我在节点控制台中运行下面的代码时,它工作正常。
Database = require('arangojs').Database;
aqlQuery = require('arangojs').aqlQuery;
const db = new Database();
db.useBasicAuth('root', 'degfra');
db.useDatabase('mydb');
let collection = db.collection('firstCollection');
db.query(aqlQuery`
FOR doc IN ${collection}
SORT doc.value ASC
RETURN doc._key
`).then(
cursor => cursor.all()
).then(
keys => console.log('All keys:', keys.join(', ')),
err => console.error('Failed to execute query:', err)
);
}
但是当我从 Vuejs 应用程序运行它时(唯一的区别是我将 'require' 语句替换为“import {Database, aql} from 'arangojs'”),它返回:
加载http://localhost:8529/_db/mydb/_api/cursor 失败:对预检请求的响应未通过访问控制检查:响应中“Access-Control-Allow-Credentials”标头的值为“ false',当请求的凭证模式为“包含”时,它必须为“真”。因此不允许访问源“ http://localhost:8080 ”。XMLHttpRequest 发起的请求的凭证模式由 withCredentials 属性控制。
难道是' db.useBasicAuth('root', 'degfra'); ' 在应用程序中不起作用?或者还有关于在浏览器中使用 arangojs 的问题吗?谢谢您的帮助。