2

私はCouch DBが初めてです。大学のサーバーのホームフォルダーにCouchDBをインストールしました...

http://servername.com/home/users/roby

Db はポート 1234 で実行されており、うまく機能しています。私のマシンから SSH トンネルを使用して、Java 用の Couch4J ドライバーを使用して DB にデータを入力することができました。

データベースに保存されたデータを必要とする Web アプリケーションを開発しています。次の場所に index.html ファイルがあるとします。

http://servername.com/home/users/roby/public_html/index.html

それはに翻訳されます

http://servername.com/~roby/index.html

簡単なリクエストを発行すると、次のような奇妙なエラーが発生しました

XMLHttpRequest cannot load http://xxxxxxx:1234/. 
Origin http://servername.com is not allowed by Access-Control-Allow-Origin.

DBから応答を取得するために使用しているコードは次のとおりです

$.couch.urlPrefix = "http://xxxxxxx:1234";

$.couch.info({
    success: function(data) {
        console.log(data);
    }
});

どんな助けでも大歓迎です。

ありがとう。

RM

4

1 に答える 1

3

3 つの選択肢があります。

  1. NginxなどでCouchDBをプロキシできるため、CouchDBを提供するのと同じポートからhtmlを提供できます。
  2. html をドキュメントに添付することで、CouchDB 自体から html を提供できます (最も簡単な方法は、CouchApp などを使用することです)。
  3. 最後に、CouchDB で jsonp 応答を有効にして、パラメーターcalbackをクエリに追加できます。jQuery は jsonp 応答をサポートしています。

サーバー構成を変更できない場合、オプション 1 と 3 は無効です。2 番目については、最も低いレベルで put リクエストを使用して添付ファイルを追加できます。

curl -X PUT http://xxxx:1234/dbname/docname/index.html --data-binary @index.html -H "Content-Type: text/html"

変更のたびにファイルをアップロードする必要があるため、手動で行うのは実際的ではありません。それを支援するCouchAppKensoなどのツールがあります。

于 2012-04-19T16:23:46.297 に答える