【问题标题】:Subcribe websocket from Rails 5.1 Vue.js webpack从 Rails 5.1 Vue.js webpack 订阅 websocket
【发布时间】:2017-09-29 11:17:43
【问题描述】:

我在 Rails 5.1 应用程序中有一个带有最新 webpack 的 Vue.js 模板,并且调用 REST API publicClient.getProducts() 方法工作正常。但是订阅 websocket 连接会出现问题,如下所示。

“跨域请求被阻止:同源策略不允许读取位于https://ws-feed.gdax.com/ 的远程资源。(原因:CORS 标头‘Access-Control-Allow-Origin’缺失)。”

非常感谢任何帮助。

要点:https://gist.github.com/nengine/e216c080988fca7cf4c3aa26f388f236

【问题讨论】:

    标签: javascript ruby-on-rails websocket vue.js webpack-dev-server


    【解决方案1】:

    错误消息显示您的 API 服务器位于与为您的前端代码 vue.js 提供服务的域(问题中未指定)不同的域 (https://ws-feed.gdax.com/) 中。浏览器将阻止security mechanism 之类的请求。

    服务器必须发送Access-Control-Allow-Origin: [frontend domain] 标头以允许cross origin resource sharing

    rails plugins 可以配置为做到这一点。

    【讨论】:

    • Rails 5.1 vue.js 客户端应用程序在本地主机上进行开发。 gdax 开发团队告诉我,目前不支持将 gdax 客户端嵌入网页,因此我需要代理所有请求。不太清楚这意味着什么,但我从 express.js 服务器端应用程序打开 websocket 没有问题。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 2018-09-03
    • 2021-04-22
    • 1970-01-01
    • 2018-12-18
    • 2023-03-17
    相关资源
    最近更新 更多