0

Ich habe eine Vue.js Vorlage in Rails 5.1 App mit neuesten Webpack und Aufruf der REST-API publicClient.getProducts() -Methoden funktioniert gut. Wenn Sie jedoch eine Websocket-Verbindung abonnieren, tritt ein Problem auf, wie unten dargestellt.Subscribe websocket von Rails 5.1 Vue.js webpack

"Cross-Origin-Anfrage blockiert: Die gleiche Herkunft Richtlinie verbietet das Lesen der Remote-Ressource um https://ws-feed.gdax.com/. (Grund: CORS Header 'Access-Control-Allow-Origin fehlt)."

Jede Hilfe wird sehr geschätzt.

Gist: https://gist.github.com/nengine/e216c080988fca7cf4c3aa26f388f236

Antwort

1

Die Fehlermeldung zeigt, dass Ihr API-Server in einer anderen Domäne (https://ws-feed.gdax.com/) als die Domain (keine Angabe in der Frage) befindet, auf dem Frontend-Code vue.js. serviert Der Browser wird solche Anfragen als security mechanism verhindern.

Der Server muss die Access-Control-Allow-Origin: [frontend domain] Header senden, um cross origin resource sharing zu ermöglichen.

Es gibt rails plugins, die genau so konfiguriert werden können.

+0

Rails 5.1 vue.js Client-App ist auf dem lokalen Host für die Entwicklung. Ich wurde vom Gdax-Entwickler-Team gesagt, dass das Einbetten von Gdax-Clients in Webseiten momentan nicht unterstützt wird, daher müsste ich alle Anfragen stellvertretend übernehmen. Nein, so sicher, was das bedeutet, aber ich habe kein Problem beim Öffnen von websockets von der express.js serverseitigen App. Vielen Dank. – amj

Verwandte Themen