我需要帮助将PouchDB与Couchbase Sync Gateway同步。
我一直收到以下指出CORS问题的错误,但我已根据文档为CORS配置了Couchbase Sync Gateway(CSG)。
XMLHttpRequest cannot load http://localhost:4985/test-database/.
No 'Access-Control-Allow-Origin'header is present on the requested
resource. Origin 'http://localhost:3000' is therefore not
allowed access.
我已根据CSG文档尝试了以下配置文件:
{
"log": ["HTTP+"],
"CORS": {
"origin":["http://localhost:3000"],
"loginOrigin":["http://localhost:3000"],
"headers":["Content-Type"],
"maxAge": 1728000
},
"databases": {
"test-database": {
"server": "walrus:",
"users": { "GUEST": {"disabled": false, "admin_channels": ["*"] } }
}
}
}
我也从Couchbase博客尝试了其他配置文件,但它们都不起作用!任何有关这方面的帮助将不胜感激!
答案 0 :(得分:4)
据我所知,看起来你正试图点击同步网关管理端口,它不支持CORS。您是否尝试过定位公共端口(4984)?
答案 1 :(得分:-1)
这是因为您需要在CouchDB上启用CORS。否则,您的脚本只能访问服务器数据库(如果它们来自同一个源) - 协议(例如:http://,https://),域和端口号必须匹配。
您可以使用curl或Futon Web界面在CouchDB中启用CORS,但我们通过制作名为add-cors-to-couchdb的Node脚本为您节省了一些时间。跑吧:
npm install -g add-cors-to-couchdb
add-cors-to-couchdb
了解更多信息,请参阅链接
https://pouchdb.com/errors.html#no_access_control_allow_origin_header