2015-07-19 26 views
0

我想通过角,以得到JSON的一些数据,但得到这个错误Rails不与restangular

的XMLHttpRequest无法加载http://localhost:3000/movies.json工作。否 “访问控制 - 允许来源”标题出现在请求的 资源中。原因'http://blabla.herokuapp.com'因此不允许 允许访问。

但是我有这样的配置,并有正确的主机:

var app = angular.module('Test', ['restangular']) 
    .config(function (RestangularProvider) { 

    RestangularProvider.setBaseUrl("http://blabla.herokuapp.com"); 
    RestangularProvider.setRequestSuffix('.json'); 
    RestangularProvider.setDefaultHttpFields({xsrfCookieName:'csrftoken', xsrfHeaderName:'X-CSRFToken'}); 
}); 

在本地机器能正常工作(如果我更换,当然setBaseUrl)

+0

你试过放弃'RestangularProvider.setBaseUrl(“http://blabla.herokuapp.com”);'一共行吗?如果您使用提供JSON的相同Rails应用程序来为Angular应用程序提供服务,那么您肯定不需要它。使用相对URL提供服务将防止您获得“Access-Control-Allow-Origin”错误。 – SkyWriter

+0

是的,我试过了。同样的结果 - 'XMLHttpRequest无法加载http:// localhost:3000/movies.json'。也许heroku不支持API请求? –

回答

0

问题是资产(js文件)。 在部署到heroku之前需要做rake assets:precompile或在gitignore中包含rake/assets/*。