0
당신은 내가 잘못 갈 어디 있는지 말해 주시겠습니까 거기에 내가 Heroku가 사이트차단 크로스 원산지 요청을 제거하는 방법 : 레일에 4
설정에서 JSON을 가져 오기에 추가하는 것을 왼쪽 아무거나 .RU
require ::File.expand_path('../config/environment', __FILE__)
run Rails.application
use Rack::Cors do
allow do
origins 'localhost:3000', '127.0.0.1:3000', 'http://stark-anchorage-86169.herokuapp.com/ages/ getfortest', /\Ahttp:\/\/192\.168\.0\.\d{1,3}(:\d+)?\z/
resource '/file/list_all/', :headers => 'x-domain-token'
resource '/file/at/*',
:methods => [:get, :post, :delete, :put, :patch, :options, :head],
:headers => 'x-domain-token',
:expose => ['Some-Custom-Response-Header'],
:max_age => 600
end
allow do
origins '*'
resource '/public/*', :headers => :any, :methods => :get
end
end
설정/application.rb 내 컨트롤러
다음과 같은 몇 가지 헬퍼와 함께 다음과 같습니다Bundler.require(*Rails.groups)
module AppV11
class Application < Rails::Applications.
config.active_record.raise_in_transactional_callbacks = true
config.middleware.insert_before 0, "Rack::Cors" do
allow do
origins '*'
resource '*', :headers => :any, :methods => [:get, :post, :options]
end
end
end
end
before_filter :set_access_control_headers
def set_access_control_headers
headers['Access-Control-Allow-Origin'] = 'http://staranchorage- 86169.herokuapp.com/ages/getfortest'
end
AngularJS와 부분 :
function getpost()
{
console.log("INSIDE GETPOST");
$http.get('http://stark-anchorage-86169.herokuapp.com/ages/getfortest')
.success(function(response)
{
console.log("INSIDE RESPONSE "+ response);
$scope.demogetpost = response.data;
console.log($scope.demogetpost);
console.log("NOT PRINTING");
})
return $scope.demogetpost;
}
'Access-Control-Allow-Origin'에 대한 검색을 쉽게 찾을 수있는 다양한 헤더가 누락되었습니다. 나는 레일을 모르지만 이것에 대한 보석이 있어야한다고 확신합니다. – charlietfl
감사합니다. @charlietfl –
해결 방법에 대한 답변을 추가 하시길 바랍니다. 미래에 다른 사람들을 도울 수도 있습니다. – charlietfl