我试图创建一个html文件,同步从pouchDb到couchDb的数据..但我在chrome控制台中收到以下错误。
未捕获的类型错误:无法调用空值的'addEventListener'方法
选项http://localhost:5984/todos/ 405(不允许的方法)
选项http://localhost:5984/todos/请求的资源上不存在'Access-Control-Allow-Origin'标头。因此不允许访问源'http://localhost:8080'。XMLHttpRequest无法加载http://localhost:5984/todos/。请求的资源上不存在'Access-Control-Allow-Origin'标头。因此不允许访问源'http://localhost:8080'。选项http://localhost:5984/todos/不存在'Access-Control-Allow-Origin'请求的资源上存在“Access-Control-Allow-Origin”标头。因此不允许访问源“http://localhost:8080”。pouchdb-nightly.js:3496选项http://localhost:5984/todos/请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问源“http://localhost:8080”。pouchdb-nightly.js:3496 XMLHttpRequest无法加载http://localhost:5984/todos/。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问源“http://localhost:8080”。
我找到了一个方法来避免这个问题。那就是我必须使用下面的命令打开chrome:cd C:\Program Files(x86)\Google\Chrome\Application Chrome.exe --disable-web-security。但这并没有解决问题。我在这里看到了很多类似的问题。但我不明白任何答案,因为我在这个领域相对较新
9条答案
按热度按时间46qrfjad1#
从this documentation开始:
要启用CORS支持,需要在
local.ini
的[httpd]
段中设置enable_cors = true
选项,并添加包含origins = *
设置的[cors]
段,注意默认不接受原点;您必须使用通配符或白名单。xvw2m8pv2#
可接受的答案并不能解决我的问题。我所做的是-
更新local.ini(/安装位置/CouchDB/etc/couchdb)
然后以管理员模式打开CMD并运行-
***仅适用于Windows用户
tez616oj3#
couchdb中的CORS部分:
通知
x-requested-with
2sbarzqh4#
现在有一个工具可以为您将CORS添加到CouchDB:
更多文档,请访问:https://github.com/pouchdb/add-cors-to-couchdb
iih3973s5#
最简单的方法我发现是安装以下:
然后从命令行运行工具,即“add-cors-to-couchdb”,如下所示:
Check out the following link for CouchDB how to CORS reference
rks48beu6#
根据@szydan的评论,如果你的软件包管理器仍然为你提供1.2版本,它不支持CORS OPTIONS,你需要从源代码安装它。
您可能需要安装SpiderMonkey和jsapi依赖项
piv4azn77#
对于Windows用户,进入Apache安装文件夹(C:\Program Files(x86)\Apache Software Foundation\CouchDB\etc\couchdb)〈--是为我在这里,并更新local.ini文件与以下详细信息...工作对我来说很有魅力,谢谢大家
显然,为了完整性,重新启动apache couchdb服务:)
unhi4e5o8#
必须在方法属性上放置
OPTIONS
。即使你在运行中引导你数据库(nodejs/nano版本):
fslejnso9#
CouchDB UI可以在http://localhost:5984/_utils上访问(或者任何你的CouchDB运行的URL,后面跟着/_utils)。在里面,你可以转到Configuration〉CORS并启用或禁用CORS。