Eli*_* K. 2 ruby-on-rails cors vue.js
我在 gemfile 中有它gem 'rack-cors', require: 'rack/cors'。我做了捆绑安装。
我还在 config/initializers/cors.rb 中进行了设置
Rails.application.config.middleware.insert_before 0, Rack::Cors do
allow do
origins '*'
resource '*',
headers: :any,
methods: [:get, :post, :put, :patch, :delete, :options, :head]
end
end
Run Code Online (Sandbox Code Playgroud)
之后我确实重新启动了服务器。
这是我得到的错误:
Access to XMLHttpRequest at 'localhost:3000/articles' from origin 'http://localhost:8080' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
Run Code Online (Sandbox Code Playgroud)
这是我的仓库Portfolio_App。
在您的vue_portfolio/src/components/Articles.vue情况下axios.get('localhost:3000/articles'),如果没有协议,它不是绝对的,也不是相对的,浏览器认为您正在尝试3000通过协议连接到主机localhost并且不允许。
将其更改为
axios.get('http://localhost:3000/articles')
Run Code Online (Sandbox Code Playgroud)
或者
axios.get('/articles')
Run Code Online (Sandbox Code Playgroud)
(后者是针对同源的,这种情况下不需要CORS)
| 归档时间: |
|
| 查看次数: |
1700 次 |
| 最近记录: |