我是noob laravel和有角度的用户。几天前我写了非常简单的api来学习如何工作api。现在我试图用非常简单的角度脚本从另一个位置到达它。这是我使用的内部域地址而不是localhost /../ ..: http://3burcak.dev/api/v1/kategori ,这是kategori控制器的索引方法:
public function index()
{
$cat = EmlakKategori::all();
return Response::json(array(
'cat' => $cat->toArray(),
));
}
所以,这很简单。
当我尝试通过我非常简单的角度js到达它时,如果我不使用标题为cors,我会得到OPTIONS 404 not found错误。但是,如果我在filters.php中使用这些标题,我会收到OPTIONS 500 Internal Server错误。
App::before(function($request)
{
if($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
$statusCode = 204;
$headers = [
'Access-Control-Allow-Origin' => '*',
'Access-Control-Allow-Methods' => 'GET, POST, OPTIONS',
'Access-Control-Allow-Headers' => 'Origin, Content-Type, Accept, Authorization, X-Requested-With',
'Access-Control-Allow-Credentials' => 'true'
];
return Response::make(null, $statusCode, $headers);});
App::after(function($request, $response)
{
$response->headers->set('Access-Control-Allow-Origin', '*');
$response->headers->set('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
$response->headers->set('Access-Control-Allow-Headers', 'Origin, Content-Type, Accept, Authorization, X-Requested-With');
$response->headers->set('Access-Control-Allow-Credentials', 'true');
return $response;
});
这两种情况,我在Firebug的Response选项卡中看到我的json数据......这是大写字母;
这是我非常简单的角度
function getKat($http, $scope)
{
$http({
method: 'json',
url: 'http://3burcak.dev/api/v1/kategori'
})
.success(function(data){
$scope.items = data.cat;
})
.error(function(data) {
console.log('error');
});
}
我无法解决这个问题。 谢谢你的帮助。
答案 0 :(得分:3)
我已经解决了, 我将角度的方法从json改为GET,最后它起作用了。