0

Я стараюсь следовать руководству Дэвида Мошера о том, как идти в конец с угловым JS на youtube: http://www.youtube.com/watch?v=hqAyiqUs93c.404 не найдена ошибка при маршрутизации с помощью Laravel

Все шло хорошо, пока я не попытался направить URL-адреса auth/login и auth/logout в службу аутентификации, как показано на видео примерно в 14:30. Когда я пытаюсь войти в систему, я получаю ошибку 404 Not Found. Я попытался возиться с URL маршрута, но безрезультатно. Я запускаю локально на MAMP с MySQL и Laravel.

Вот мой код routes.php

Route::get('/', function(){ 
    return View::make('index'); 
}); 

Route::post('/auth/login/', '[email protected]'); 
Route::get('/auth/logout/', '[email protected]'); 

и мой код AuthController

<?php 

class AuthController extends BaseController { 
    public function login() 
    { 
    if(Auth::attempt(array('email' => Input::json('email'), 'password' => Input::json('password')))) 
    { 
     return Response::json(Auth::user()); 
    } else { 
     return Response::json(array('flash' => 'Invalid username or password'), 500); 
    } 
    } 

    public function logout() 
    { 
    Auth::logout(); 
    return Response::json(array('flash' => 'Logged Out!')); 
    } 

} 

наконец, код службы аутентификации

angular.module("epicApp") 
    .factory('AuthenticationService', function($http, $location){ 
     return{ 
      login: function(credentials){ 
       return $http.post("/auth/login/", credentials); 
      }, 
      logout: function(){ 
       return $http.get("/auth/logout/"); 
      } 
     } 
    }) 
+0

Вы можете скопировать URL-адрес ошибки с консоли? – devo

ответ

0

только одна проблема в том, у вас есть заменить все /auth/login/ на auth/login и /auth/logout/ - auth/logout в вашем маршруте и угловой сценарий.

Так что ваш маршрут должен быть,

Route::get('/', function(){ 
    return View::make('index'); 
}); 

Route::post('auth/login', 'AuthContro[email protected]'); 
Route::get('auth/logout', '[email protected]'); 

И JS,

angular.module("epicApp") 
    .factory('AuthenticationService', function($http, $location){ 
     return{ 
      login: function(credentials){ 
       return $http.post("auth/login", credentials); 
      }, 
      logout: function(){ 
       return $http.get("auth/logout"); 
      } 
     } 
    }) 
0

Я, если этот вопрос до сих пор актуальна не знаю, но вы получите 404 с любым HTTP URL, если внутри в общей папке индексный файл не является .php. Вы можете просто переименовать index.html своего углового приложения.

Смежные вопросы