好的,所以我有一个以 Laravel 4 作为后端的 AngularJS 应用程序。我想要开发的方式是在单独的服务器上运行 Laravel(通过 artisan serve),并在单独的服务器上运行 angular,让 yeoman 为我组装所有的 grunt 服务器。
但是,在尝试通过 Angulars $http 从 Laravel 4 后端(用作 REST api)获取数据后,我得到的只是一条 0 错误消息。这是我的代码:
角 REST 服务:
app.factory('RestService', function($http){
var restUrl = 'http://localhost:8000/api/v1/tags';//<-- rest api served with php artisan
return {
getResource: function(){
return $http({method: 'get', url: restUrl})
}
}
});
角度控制器:
app.controller('TagCtrl', function($scope, RestService){
$scope.getTagList = RestService.getResource()
.success(function(){
console.log('Success!');
})
.error(function(data, status, headers, config){
console.log(data);//<--returns nothing
console.log(status);//<--returns 0
console.log(headers);//<-- returns function
console.log(config);//<-- returns object
});
});
这是我的 Laravel 4 路线:
Route::get('tags', function(){
return "This is a temporary message to test routing";
});
现在,如果我不使用 grunt serve 和 artisan 并将它们全部放在同一个文件夹中(在 laravel 公用文件夹内有角度等),那么所有这些都有效之前有 grunt 的其他东西我想暂时将这些元素分开。
通过一些谷歌搜索,我认为问题出在 CORS(跨源请求)上,但我不明白如何解决此设置中的问题。