2016-03-23 8 views
2

OrientDbデータベースを使用していますが、私のシステムにOrientdbサーバーをセットアップしました。OrientDbはHttp Apiを公開しています。 AJAX呼び出しを使用してJavaScriptから、OUserから* API http://localhost:2480/query/test2/sql/selectを呼び出すしようとしていますので、私はOrientDbでCORSを有効にする方法server-config.xml

Accept : "application/json;charset=utf-8", 
"Access-Control-Allow-Origin":"*", 
'Access-Control-Allow-Methods': 'POST, GET, DELETE, HEAD, OPTION', 
'Access-Control-Allow-Headers': 'Origin, x-requested-with, content-type, accept', 
'Access-Control-Allow-Credentials': true 

ヘッダーを設定しているし、また、私は= orientdbサーバ-config.xmlの

  1. パラメータ名にCROSを有効にaccess-Control-Allow-Credentials:true; Access-Control-Allow-Headers:オリジン、x-requested-with、content-type、アクセス制御許可メソッド:POST、GET、DELETE、HEAD、OPTION "
  2. パラメータ値=" utf-8 "name =" network.http.charset "

はまだ

リクエストヘッダフィールドアクセス制御 - 許可 - 起源は、プリフライト応じてアクセス制御 - 許可 - ヘッダによって許可されていません取得しています。

OrientDbサーバーでCORSを有効にする方法はありますか?

答えて

0

Access-Control-Allow-*応答ヘッダーであり、要求ヘッダーではありません。それらは使用されているので、サーバーは自分のデータを読み取る権限をJSに与えることができます(JSがサーバーのデータを読み取る権限を与えることはできません)。

カスタムリクエストヘッダー(JavaScript内)として設定しています。

CORS仕様では、カスタムリクエストヘッダーを設定するための明示的なアクセス許可が必要です。これらの設定にはサーバーからのアクセス許可がありません(理由は何ですか?それらはナンセンスです)。

JSに設定しないでください。

+0

こんにちはクエンティン、私は言ったポイントに同意します。ちょうど私がクライアント(js)とサーバー側の両方でそれを設定したサーバーからの応答を得ていないからです。 orientdb-server-config.xmlファイルでCORSを有効にするパラメータを追加しました。依然として取得中です**リクエストヘッダーフィールドAccess-Control-Allow-Originは、プリフライトレスポンスでAccess-Control-Allow-Headersによって許可されていません。これに関する提案は役に立ちます。ありがとうございます。 –

+0

「サーバーからの応答が得られないのは、クライアント(js)とサーバー側の両方で設定しているからです。 - 私が言ったように、それをクライアント側に設定することは問題の原因です。あなたはサーバーからの応答を得ています。これは、クライアント側で 'Access-Control-Allow-Origin'を設定することが許可されていないことを伝えています。あんな事はしないで。 – Quentin

+0

ええ、その仕事。ありがとう、クエンティン –

関連する問題