Javascript $http不读取头
我为我的电子商务应用程序(内置于Laravel)构建了一个小API,这样我就可以将它与内置于Angular的前端一起使用。我将API放在子域上,并添加了Javascript $http不读取头,javascript,angularjs,api,laravel,Javascript,Angularjs,Api,Laravel,我为我的电子商务应用程序(内置于Laravel)构建了一个小API,这样我就可以将它与内置于Angular的前端一起使用。我将API放在子域上,并添加了accesscontrolalloworigin头以允许来自API源的调用 问题是Angular似乎正在从请求中剥离所有头,因此它永远看不到我的CORS头。我的RESTAPI客户端正确地看到了头。我尝试使用一个基本的XMLHttpRequest,它正确地看到了头。但是在Angular内部,查看来自$http.get()的响应,我看不到CORS头,
accesscontrolalloworigin
头以允许来自API源的调用
问题是Angular似乎正在从请求中剥离所有头,因此它永远看不到我的CORS头。我的RESTAPI客户端正确地看到了头。我尝试使用一个基本的XMLHttpRequest,它正确地看到了头。但是在Angular内部,查看来自$http.get()
的响应,我看不到CORS头,或者我尝试过的任何其他头
我的服务是这样的:
angular.module('SFAdmin').factory('Category', function($http){
$http.defaults.useXDomain = true;
var baseUrl = 'http://api.example.com/categories';
return {
query: function(){
return $http.get(baseUrl);
},
get: function(id){
return $http.get(baseUrl + '/' + id);
},
create: function(data){
return $http.post(baseUrl, data);
},
update: function(data){
return $http.put(baseUrl + data.id, data);
},
delete: function(id){
return $http.delete(baseUrl + '/' + id);
},
trash: function(){
return $http.get(baseUrl + '/trash');
}
}
});
我的类别控制器:
angular.module('SFAdmin').controller('CategoriesIndexController', function(Category, $scope, $location){
Category.query().success(function(data){
$scope.categories = data;
}).error(function(d, s, h){
console.log(d, s, h());
});
});
我的api路由发送以下内容:
$app->get('/categories/', function(){
$content = (new App\Http\Controllers\CategoryController())->index(); // index() gets all categories.
return response($content)
->header('Access-Control-Allow-Origin', '*');
});
如何正确查看传入的标题