2015-02-07 106 views
0

我有一個問題,我想不出。我使用Laravel和Blade編寫了後端管理部分,併爲前端(The Angular App)添加了API路由。我使用yeoman角度發生器,然後構建前端項目並將所有文件夾以「dist」移動到Laravel的公用文件夾中;並將index.html放入/ app/view /並將其重命名爲index.php。所有的加載都很好,但是當我做一個有角的$ http請求時,響應頭部顯示200 Ok,但沒有返回數據。我錯過了什麼?Laravel API + Yeoman角發生器

/* routes.php ------------ ANGULAR.JS API ROUTES --------------- */ 
Route::group(['prefix'=>'client_api'], function() 
{ 
    Route::get('all-from-species', '[email protected]'); 
    Route::get('{animal}', '[email protected]'); 
    Route::get('events', '[email protected]'); 
    Route::post('subscribe', '[email protected]'); 
    Route::get('aboutus', '[email protected]'); 
    Route::get('contactus', '[email protected]'); 
}); 

ClientApiController.php -------------------------------

<?php 
class ClientApiController extends \BaseController { 

    public function AllFromSpecies() 
    { 
     // 
    } 

    public function AnimalData($id) 
    { 
     // 
    } 

    public function AllEvents() 
    { 
     // 
    } 

    public function subscribeToNewsletters() 
    { 
     // 
    } 

    /** 
    * @return Response::json 
    */ 
    public function aboutUs() 
    { 
     $about = AboutUs::find(1); 
     // Return Json for Angular use. 
     return Response::json($about); 
    } 
} 

角JS文件----------------------------

angular.module('animalShelterApp') 
    .controller('AboutCtrl', function ($scope, $http) { 
     $http.get('/client_api/aboutus') 
      .then(function(response) { 
       $scope.aboutus = response; 
     }); 
    }); 

回答

0

我不知道這是否是唯一的問題,但有肯定是你的路線有問題...

你有這條路線Route::get('{animal}', '[email protected]');

它基本上會捕獲每個請求與client_api/anything。它也會在您請求client_api/aboutus時運行。

你可以把它在你的路線組的最後更改:

Route::group(['prefix'=>'client_api'], function() 
{ 
    Route::get('all-from-species', '[email protected]'); 
    Route::get('events', '[email protected]'); 
    Route::post('subscribe', '[email protected]'); 
    Route::get('aboutus', '[email protected]'); 
    Route::get('contactus', '[email protected]'); 
    Route::get('{animal}', '[email protected]'); 
}); 

這意味着只有當沒有以上航線賽,{animal}將運行。

+0

夥計,你剛剛爲我節省了大量的時間。我不相信我沒有看到。有效。非常感謝。 – dnavas77 2015-02-07 23:21:14