rails 网站跨域

7
down vote
accepted

gem install rack-cors

Or in your Gemfile:

gem ‘rack-cors‘, :require => ‘rack/cors‘

修改 config.ru

require ::File.expand_path(‘../config/environment‘,  __FILE__)
run Rails.application

require ‘rack/cors‘
use Rack::Cors do

# allow all origins in development
  allow do
    origins ‘*‘
    resource ‘*‘,
        :headers => :any,
        :methods => [:get, :post, :delete, :put, :options]
  end
end

时间: 2024-08-29 05:49:56

rails 网站跨域的相关文章

网站跨域解决方案有哪些

1.使用jsonp解决网站跨域问题(不推荐,因为只支持get请求,不支持post请求) 2.设置响应头允许跨域(小公司.小项目中使用,能快速解决问题) response.setHeader(“Access-Control-Allow-Origin”,”*”); 3.使用httpclient进行转发(会发送2次请求,效率低,不推荐) 4.使用Nginx搭建api网关(推荐),保证了域名和端口都一致,以项目区分反向代理到真实服务器的地址 5.SpringCloud中使用Zuul网关 可参考地址:ht

解决浏览器跨域的几种方式

1.什么是跨域问题 在页面中使用js访问其他网站的数据时,就会出现跨域问题,比如在网站中使用ajax请求其他网站的天气.快递或者其他数据接口时,以及hybrid app中请求数据,浏览器会提     示一下错误: XMLHttpRequest cannot load http://你请求的域名. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://当前页的域  

Asp.net Vnext api CORS( 跨域)

概述 跨域资源共享(CORS )是一种网络浏览器的技术规范,它为Web服务器定义了一种方式,允许网页从不同的域访问其资源.而这种访问是被同源策略所禁止的.CORS系统定义了一种浏览器和服务器交互的方式来确定是否允许跨域请求. 它是一个妥协,有更大的灵活性,但比起简单地允许所有这些的要求来说更加安全. CORS通过设置HTTP Header(标头)设置网站跨域存取. Access-Control-Allow-Origin 允许跨域访问的域,可以是一个域的列表,也可以是通配符"*". Ac

彻底解决跨域问题

跨域问题,请求时可以访问的,但只是获取不到结果 网站跨域的五种方案 1.使用jsonp解决跨域(不推荐 因为只能支持get请求,不支持post请求) 2.设置响应头允许跨域(可以推荐) 3.使用HttpClient进行转发(不推荐,因为效率低,会发送两次请求) 4.使用Nginx搭建API接口网关(强烈推荐)因为保证域名和端口都一致,以项目区分反向代理到真实的服务器地址. 5.使用Zuul微服务搭建API接口网关(强烈推荐) springCloud 原文地址:https://www.cnblog

$.getjson方法配合在url上传递jsoncallback=?参数,实现跨域获取指定网站某商品访问量

across.php文件在域名www.cms.com程序中 <html><body><div id="pv">99</div><script type="text/javascript" src='/img/js/jquery-1.6.2.min.js';></script> <!-- 引入jquery文件需要结束 --> <script type="text/jav

通过Iframe在A网站页面内嵌入空白页面的方式,跨域获取B网站的数据返回给A网站!

以下代码只是为演示该方法具体是如何操作的,实际的意义并不大. 其实这个方法还可以解决很多方面的跨域操作,以下两点为我工作中遇到的情况! 比如A系统中打开B系统页面的时候,获取B系统页面高度,A系统中可以动态设置窗口的高度 还有A系统中打开B系统页面的时候,B系统页面进行一系列操作,操作成功后需关闭A系统窗口,就可以在操作成功后再在B系统中嵌入A系统的blank.html页面,blank.html页面打开的时候,动态关闭A系统的窗口! 下面为大家讲下是如何实现该方法的 1.在A系统下添加名称为bl

PHP 使网站进行跨域访问

如果需要从不同的服务器(不同域名)上获取数据就需要使用跨域 HTTP 请求. 跨域请求在网页上很常见.例如网页从不同服务器上载入 CSS , 图片,Js 脚本等. 浏览器中,为了数据的安全,所有请求被严格限制在同一域名下,如果需要调用不同站点的数据,需要通过跨域来解决. <?php header("Access-Control-Allow-Origin: *"); header("Content-Type: application/json; charset=UTF-8

什么是跨域?怎么解决跨域问题?

什么是跨域? 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制. 所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子: http://www.123.com/index.html 调用 http://www.123.com/server.PHP (非跨域) http://www.123.com/index.html 调用 http://www.456.com/server.php (主域名不同:123/456,跨域)

谷歌、火狐浏览器下实现JS跨域iframe高度自适应的完美解决方法,跨域调用JS不再是难题!

谷歌.火狐浏览器下实现JS跨域iframe高度自适应的解决方法 导读:今天开发的时候遇到个iframe自适应高度的问题,相信大家对这个不陌生,但是一般我们都是在同一个项目使用iframe嵌套页面,这个ifame高度自适应网上一搜一大把,今天要讲的如何在不同的网站下进行相互的调用跟在同一个网站下是一个效果:例如我在自己的项目里面Iframe  了第一博客的页面  http://www.diyibk.com/   当第一博客的页面高度变化了怎么通知父页面呢? 这个时候在谷歌下肯定是拿不到 ifram