Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 起源http://localhost:3000 Rails 3应用程序中的访问控制允许原点不允许_Ruby On Rails_Xmlhttprequest_Cross Domain_Cors - Fatal编程技术网

Ruby on rails 起源http://localhost:3000 Rails 3应用程序中的访问控制允许原点不允许

Ruby on rails 起源http://localhost:3000 Rails 3应用程序中的访问控制允许原点不允许,ruby-on-rails,xmlhttprequest,cross-domain,cors,Ruby On Rails,Xmlhttprequest,Cross Domain,Cors,我无法通过以下错误从XHR获取 XMLHttpRequest cannot load http://blog.rrikesh.com/demo/assets/img/img1.jpg. Origin http://localhost:3000 is not allowed by Access-Control-Allow-Origin. 因此,我允许这样的跨域访问: class ApplicationController < ActionController::Base

我无法通过以下错误从XHR获取

XMLHttpRequest cannot load http://blog.rrikesh.com/demo/assets/img/img1.jpg. Origin       
http://localhost:3000 is not allowed by Access-Control-Allow-Origin.
因此,我允许这样的跨域访问:

class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :allow_cross_domain_access
  def allow_cross_domain_access
      response.headers["Access-Control-Allow-Origin"] = "*"
      response.headers["Access-Control-Allow-Methods"] = "GET, PUT, POST, DELETE"
  end
end
class ApplicationController

但是,它也会发生同样的错误。我能做什么?

以下PHP代码适合我。 请注意,if(…)非常重要,如果您为所有请求返回相同的CORES标头,则(至少)chrome将取消请求(至少针对localhost服务器)


以下PHP代码适合我。
请注意,if(…)非常重要,如果您为所有请求返回相同的CORES标头,则(至少)chrome将取消请求(至少针对localhost服务器)


您考虑过JSONP吗?您可以显示您用于发出请求的JavaScript吗?可能是您的JS代码正在发送一些自定义头。有时,以下操作会解决问题:
response.headers[“Access Control Allow headers”]=“Content Type”
我正在使用这个jQuery库访问EXIF数据。你考虑过JSONP吗?您可以显示您用于发出请求的JavaScript吗?可能是您的JS代码正在发送一些自定义头。有时,以下操作会解决问题:
response.headers[“Access Control Allow headers”]=“Content Type”
我正在使用这个jQuery库访问EXIF数据。
<?php
if (isset($_SERVER['HTTP_ORIGIN'])) {
    //header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
    header("Access-Control-Allow-Origin: *");
    header('Access-Control-Allow-Credentials: true');    
    header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); 
}   
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
        header("Access-Control-Allow-Methods: GET, POST, OPTIONS");         
    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
        header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");

    exit(0);
}