在 CouchDB 中启用 CORS 的 PouchDB 中出现 CORS 错误

CORS error in PouchDB with CORS enabled in CouchDB

我在 CouchDB 中启用了 CORS:

我 运行 Windows 8.1 上的应用程序,与 hapi.js 一起提供。

一段时间后在 Chrome 中查看时,此错误消息出现在控制台中:

Uncaught (in promise) CustomPouchError {status: 500, name: "unknown_error", message: "Database encountered an unknown error", error: true, toString: function}

Firefox 中止访问 CouchDB,例如: http://127.0.0.1:5984/user_z_at_z_p_ch/?_nonce=1431328831527, 然后报告跨源请求被阻止。

我已经尝试 运行 add-cors-to-couchdb 但我得到这个错误:

PS C:\Users\alex> add-cors-to-couchdb
events.js:85
      throw er; // Unhandled 'error' event
        ^
Error: read ECONNRESET
    at exports._errnoException (util.js:746:11)
    at TCP.onread (net.js:559:26)

您的 CORS 设置看起来是正确的。您确定您的 CouchDB 可以从您正在使用的 hostname/port 外部访问吗?

如果 add-cors-to-couchdb 失败,那是因为 localhost:5984 的默认 CouchDB 不可访问。它具有在另一个 URL.

处指定 CouchDB 的选项

似乎我在 couchdb 的 config.ini 的 cors 部分遗漏了一个 header:x-csrf-token

cors 现在可以与这些 headers 一起使用:

accept, authorization, content-type, origin, referer, x-csrf-token

我不知道为什么会这样,但是嘿:它有效