1

我正在尝试从 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 的问题吗?谢谢您的帮助。

4

0 回答 0