4

HTML と JavaScript で構築され、Tomcat によって提供される Web サイトがあります。

非 SQL データベースを追加する必要があり、Couch DB を試しています。DBの仕組みはわかったのですが、自分のWebサイトとの接続方法がわからず困っています。

私は SQL に慣れており、接続を確立してから SQL クエリを送信するだけで済みます。CouchDB への接続オブジェクトをインスタンス化し、couchdb.js を使用するにはどうすればよいですか? 現在、Tomcat はクロスドメインの問題で私に答えてくれます。Tomcat とcouchdb は異なるポートにあるからです。

誰かが非常に基本的なことで私を助けることができますか?

4

2 に答える 2

0

Cross-Origin Resource Sharing (CORS)は、CouchDB の次のリリース (v.1.3) でのみ実装されます。

驚くかもしれませんが、CouchDB の「非常に基本」ではないことに注意してください。

  1. CouchApp Web アプリ開発者のほとんどは、CouchDB 自体から (HTML ショー、リスト、および添付された静的ページを使用して) Ajax アプリケーションを提供しています。
  2. 一部の開発者は、CouchDB を 3 層アーキテクチャ内の単純なデータベースとして使用しています。
  3. また、デスクトップまたは署名付きアプリケーション (Java、Flash など) から CouchDB にリクエストを送信するものもあります。

そのため、外部サイトから取得したコードから Ajax クエリを送信することは比較的まれでした。

私が推奨するアドバイスは、最も一般的な設定の 1 つを採用することです。

あなたのケースに明らかに適していない場合は、CouchDB の開発バージョンをテストするか、プロキシを使用して CouchDB が HTML コードと同じサーバー上にあるように見せることができます (次のリリースまで)。

于 2013-02-19T10:40:40.610 に答える
0

まず、curl に慣れる必要があります。次に、コマンド ラインを使用して、couchdb のテストを開始します。あなたがcouchdbをインストールしたのと同じマシンで試してみてください。

$ curl localhost:5984

その後、curl を使用して別のマシンからアクセスを試みます。

$ curl http://<your_couchdb_server_name_or_ip>:5984/

できない場合は、5984 ポートでサーバーへの外部要求をブロックするファイアウォールがサーバーにあるかどうかを確認する必要があります。

ここで、ajax リクエストから couchdb にアクセスするには、local.ini ファイルを構成する必要があります。

[httpd]
enable_cors:true;

[cors]
credentials:true;
mehods:PUT,GET,POST,DELETE,OPTIONS;
origins:*;

カウチデータベースを再起動して再試行してください。これで問題が解決するはずです。

于 2013-09-02T12:53:17.923 に答える