2017-12-27 4 views
0

이것은 내가 Laravel을 처음 접했을 때 어리석은 질문 일 수 있습니다. 각도 및 laravel을 사용하여 단일 페이지 응용 프로그램을 만들고 있습니다. "todos"테이블에서 모든 레코드를 가져와 "View all Todos"버튼을 클릭하여 todo.html에 표시하려고합니다. "모든 Todos보기"는 "localhost : 8000/tasks"URL로 이동합니다. 그 버튼을 클릭하면 모든 todos 괜찮아요 아무 문제있어. 하지만 브라우저에서 직접 URL에 액세스하려고하면 TodController에서 json 배열을 가져옵니다. 여기 직접 URL에 액세스 할 때 Laravel 및 AngularJs SPA 오류

여기 내 각 코드는

myApp.config(['$routeProvider', '$locationProvider', 

function ($routeProvider, $locationProvider) { 
    $locationProvider.hashPrefix(''); 

    $routeProvider.when('/', { 
     templateUrl: 'views/home.html', 
    }); 
    $routeProvider.when('/todo', { 
     templateUrl: 'views/todo.html', 
     controller: 'todoController' 
    }); 
    $locationProvider.html5Mode(true); 

}]); 

myApp.controller('taskController', function($scope, $http) { 
$http({ 
    method: 'get', 
    url: 'todo' 
}).then(function (response) { 
    $scope.about = response.data 
},function (error){ 
    console.log(error, 'can not get data.'); 
}); 
}); 

답변

0

당신이 또한 설득력 컬렉션을 반환 할 수 있습니다 알고 있었나요 내 경로/web.php

Route::resource('/todo', 'TodoController'); 

Laravel TodoController 컨트롤러

public function index() 
{ 
    return Todo::all(); 
} 

입니다 귀하의 경로 또는 컨트롤러에서? 자동으로 JSON으로 변환됩니다. 한번 해봐!

https://laravel.com/docs/5.5/responses

당신은 HTML을 반환 컨트롤러

public function index() 
{ 
    return view('todos')->with('todos',Todo::all()); 

} 

https://laravel.com/docs/5.5/views

+0

답장을 보내 주셔서 감사합니다. 그러나 json 배열을 반환하지 않는 것이 목적입니다. 표시하고 html 페이지에 json 배열 대신 모든 todos가 포함되어 있습니다. – Aamish

+0

그래서보기를 사용해야합니다. https://laravel.com/docs/5.5/views –

0

당신은 당신의 각 컨트롤러뿐만 아니라 Laravel 컨트롤러에서 동일한 URL을 대상으로하는을의보기를 사용하려면 . API 또는 서비스로 Laravel을 사용하고 라우팅은 허용합니다. 자세한 정보를 확인하십시오. Laravel API routes

+0

당신은 API에서 모든 경로를 언급해야한다는 것을 의미합니다. PHP? – Aamish

+0

나는 당신에게 라우트 라우트를 의미하며, 당신은 _api_라는 프리픽스를 가질 수 있으므로 라우트 라우트에는 _yourdomain.com/api/task_가 있고 각도 조절기에는 _yourdomain.com/task_이있을 수 있습니다. 그렇게하면 더 명확하게 알 수 있습니다. –

+0

예. 알겠습니다. 감사. 하지만 브라우저에서 yourdomain.com/api/task에 직접 액세스하면 json 응답을 받게됩니다. 각도 루트에서 직접 라우트 컨트롤러에 액세스 할 수있는 방법이 있습니까? – Aamish

관련 문제