使用 AngularJS 和 Codepen 测试 Rails API
Testing Rails API with AngularJS and Codepen
让我的笔与本地主机上的开发服务器通信时遇到一些问题。
我有一个 angularjs 脚本,它使用 $http.get 请求从服务器获取一些 json,但它导致了这个错误。
Access to XMLHttpRequest at 'localhost:3000/test' from origin 'https://s.codepen.io' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
Rails服务器和浏览器在同一台机器上,直接在浏览器中输入url服务器就可以成功调用页面,但我不确定如何解决 codepen 中脚本 运行 的这个错误。
如有兴趣,我的 javascript 中的请求只是:
$http.get("localhost:3000/test").then(
function(response) {
console.log("success");
},
function(response) {
console.log("failed");
}
);
尝试取消注释 Gemfile 中的 rack-cors
gem。然后在 config/application.rb
你可以像这样配置 cors:
config.middleware.insert_before 0, Rack::Cors do
allow do
origins '*'
resource '*', headers: :any, methods: [:get, :post, :options]
end
end
请记住,这将允许来自任何来源的访问。您可能希望针对您的生产环境更改此设置。
让我的笔与本地主机上的开发服务器通信时遇到一些问题。
我有一个 angularjs 脚本,它使用 $http.get 请求从服务器获取一些 json,但它导致了这个错误。
Access to XMLHttpRequest at 'localhost:3000/test' from origin 'https://s.codepen.io' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
Rails服务器和浏览器在同一台机器上,直接在浏览器中输入url服务器就可以成功调用页面,但我不确定如何解决 codepen 中脚本 运行 的这个错误。
如有兴趣,我的 javascript 中的请求只是:
$http.get("localhost:3000/test").then(
function(response) {
console.log("success");
},
function(response) {
console.log("failed");
}
);
尝试取消注释 Gemfile 中的 rack-cors
gem。然后在 config/application.rb
你可以像这样配置 cors:
config.middleware.insert_before 0, Rack::Cors do
allow do
origins '*'
resource '*', headers: :any, methods: [:get, :post, :options]
end
end
请记住,这将允许来自任何来源的访问。您可能希望针对您的生产环境更改此设置。