2016-03-23 9 views
2

Bin OrientDb-Datenbank verwenden, habe ich Orientdb Server in meinem System eingerichtet, OrientDb hat Http Api's ausgesetzt. So rufen versuche API http://localhost:2480/query/test2/sql/select * von oUser, von Javascript AJAX-Aufruf habe ich Header gesetztSo aktivieren Sie CORS in OrientDb 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 

Und auch aktiviert ich CROS in Orientdb-server-config.xml

  1. Parameter name = "network.http.additionalResponseHeaders" Wert = "Zugriffssteuerung-Zulassen-Ursprung: *; Zugriffssteuerung-Erlauben-Anmeldeinformationen: true; Zugriffssteuerung-Zulassen-Header: Ursprung, x-angefordert-mit, Inhaltstyp, accept; Access-Control-Allow-Methoden: POST, GET, DELETE, HEAD, OPTION "
  2. Parameter Wert =" utf-8 "name =" network.http.charset "

Noch sind

Anfrage-Header-Feld Access-Control-Allow-Origin ist nicht von Access-Control-Allow-Header in Preflight-Reaktion erlaubt zu werden.

Wie aktiviert CORS in OrientDb-Server?

Antwort

0

Access-Control-Allow-* sind Antwort Header, keine Anfrage Header. Sie werden verwendet, damit der Server Ihrer JS die Erlaubnis geben kann, ihre Daten zu lesen (nicht, damit Ihre JS sich die Erlaubnis zum Lesen der Serverdaten geben kann).

Sie legen sie als benutzerdefinierte Anforderungsheader (in Ihrem JavaScript) fest.

Die CORS-Spezifikation erfordert, dass Sie explizite Berechtigung zum Festlegen benutzerdefinierter Anforderungsheader haben, und Sie haben keine Berechtigung vom Server, um diese festzulegen (und warum sollten Sie? Sie sind Unsinn.).

Setzen Sie sie nicht in der JS.

+0

Hallo Quentin, ich stimme den Punkten zu, die du gesagt hast. Nur weil ich keine Antwort vom Server bekomme, habe ich es auf Client- (js) und Serverseite eingerichtet. Ich habe Parameter hinzugefügt, die CORS in orientdb-server-config.xml-Datei ermöglicht. bekomme immer noch ** Request-Header-Feld Access-Control-Allow-Origin ist nicht erlaubt von Access-Control-Erlaube-Header in Preflight-Antwort **. Irgendwelche Vorschläge dazu werden hilfreich sein, Danke. –

+0

"Nur weil ich keine Antwort vom Server bekomme, habe ich es sowohl auf Client (js) als auch auf Serverseite eingerichtet." - Wie ich schon sagte, verursacht das Einrichten der Client-Seite das Problem. Sie erhalten eine Antwort vom Server. Es wird Ihnen gesagt, dass Sie auf der Clientseite nicht 'Access-Control-Allow-Origin' einstellen dürfen. Hör auf. – Quentin

+0

ja es funktioniert. Danke Quentin –

Verwandte Themen