20

ポーチDbからcouchDbにデータを同期するhtmlファイルを作成しようとしています..しかし、クロムコンソールで次のエラーが発生しています。

キャッチされていない TypeError: null のメソッド '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」ヘッダーがありません。したがって、オリジン ' 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 ' へのアクセスは許可されていません。

この問題を回避する方法を見つけました。つまり、次のコマンドを使用してクロムを開く必要があります: cd C:\Program Files (x86)\Google\Chrome\Application Chrome.exe --disable-web-security.しかし、これで問題は解決しませんでした。ここで同様の質問をたくさん見ましたが、この分野では比較的新しいので、答えがわかりませんでした

4

9 に答える 9

44

このドキュメントから:

CORS サポートを有効にするには、 のセクションでenable_cors = trueオプションを設定し、設定を含むセクションを追加する必要があります。デフォルトでは、オリジンは受け入れられないことに注意してください。ワイルドカードまたはホワイトリストを使用する必要があります。[httpd]local.ini[cors]origins = *

[httpd]
enable_cors = true

[cors]
origins = *
于 2014-01-03T12:37:12.553 に答える
9

受け入れられた答えは私の問題を解決しません。私がしたことは -

local.ini を更新 (/インストール先/CouchDB/etc/couchdb)

[httpd]
enable_cors = true

[cors]
origins = *
credentials = true
methods = GET, PUT, POST, HEAD, DELETE
headers = accept, authorization, content-type, origin, referer, x-csrf-token

次に、CMDを管理者モードで開き、実行します-

net.exe stop "Apache CouchDB" && net.exe start "Apache CouchDB"

*** Windows ユーザーのみ

于 2016-03-18T16:32:49.757 に答える
3

CORS を CouchDB に追加するツールが用意されました。

npm install -g add-cors-to-couchdb
add-cors-to-couchdb

詳細なドキュメントはこちら: https://github.com/pouchdb/add-cors-to-couchdb

于 2016-03-18T18:40:33.920 に答える
3

couchdb の CORS セクション:

credentials: true
headers: accept, authorization, content-type, origin, referer, cache-control, x-requested-with
methods: GET,PUT,POST,HEAD,DELETE
origins: *

知らせx-requested-with

于 2015-02-17T10:12:02.663 に答える
3

私が見つけた最も簡単な方法は、以下をインストールすることです:

npm install -g add-cors-to-couchdb

次に、次のようにコマンドラインから「add-cors-to-couchdb」というツールを実行します。

add-cors-to-couchdb <you_url>:<port> -u <user_name> -p <your_password>

CouchDB の CORS 参照方法については、次のリンクを参照してください。

于 2016-11-03T06:47:54.003 に答える
0

Windows ユーザーの場合は、Apache インストール フォルダー (C:\Program Files (x86)\Apache Software Foundation\CouchDB\etc\couchdb) に移動します <-- 私にとってはここにあり、以下の詳細で local.ini ファイルを更新します。 .私にとって魅力的でした、ありがとうみんな

 [cors]
 credentials: true
 headers: accept, authorization, content-type, origin, referer, cache-control,          x-requested-with
 methods: GET,PUT,POST,HEAD,DELETE
 origins: *

 [httpd]
 enable_cors = true

明らかに、完全を期すためにApacheのcouchdbサービスを再起動してください:)

于 2016-03-03T17:07:34.903 に答える