我是棱角分明的新手。在这里,我尝试使用“http://localhost:3000/”从rails服务器调用API。
我得错了对预检请求的响应未通过访问控制检查:否 “访问控制允许来源”
我添加了'CORS'chrome扩展程序来修复它。现在问题是我的请求是传递给localhost:3000作为[OPTIONS],而我希望它作为获取请求。
'use strict';
angular.module('dayton')
.service('foodCategoryService', ['$http', '$window', 'authService', 'Upload',
function($http, $window, authService, Upload){
var field = {};
field.getFields = function (){
console.log("---------foodCategoryService")
return $http.get('http://localhost:3000/api/list_food_category', {
headers: {Authorization: authService.getToken()}
})
.then(function(response) {
return response;
}, function(x) {
$scope.authError = 'Server Error';
});
};
return field;
}]);
ActionController :: RoutingError(没有路由匹配[OPTIONS] “/ API / list_food_category”):
任何帮助都将受到赞赏
答案 0 :(得分:0)
修改您的应用配置
angular.module('dayton').config(function($httpProvider){
$httpProvider.defaults.headers.common = {};
$httpProvider.defaults.headers.post = {};
$httpProvider.defaults.headers.put = {};
$httpProvider.defaults.headers.patch = {};
});
答案 1 :(得分:0)
这不是你的角度js方面的问题。您必须在服务器端允许交叉来源请求