0

YouTubeでAngular JSをエンドツーエンドで使用することに関するDavid Mosherのチュートリアルに従おうとしています: http://www.youtube.com/watch?v=hqAyiqUs93c

/auth/login および auth/logout の URL を認証サービスにルーティングしようとするまでは、すべてがうまくいっていました (ビデオの 14:30 あたり)。ログインしようとすると、404 Not Found エラーが表示されます。ルートの URL をいじってみましたが、役に立ちませんでした。MySQL と Laravel を使用して MAMP でローカルに実行しています。

これがroutes.phpの私のコードです

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

Route::post('/auth/login/', 'AuthController@login');
Route::get('/auth/logout/', 'AuthController@logout');

および 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/");
            }
        }
    })
4

2 に答える 2

0

唯一の問題は、ルートと角度スクリプトですべての/auth/login/toauth/login/auth/logout/toを置き換える必要があることです。auth/logout

だからあなたのルートは、

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

Route::post('auth/login', 'AuthController@login');
Route::get('auth/logout', 'AuthController@logout');

そして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");
            }
        }
    })
于 2013-10-01T08:57:49.920 に答える
0

この質問がまだ関連しているかどうかはわかりませんが、パブリック フォルダー内のインデックス ファイルが .php でない場合、HTTP URL で 404 が返されます。angular アプリの index.html の名前を変更するだけです。

于 2016-03-09T21:54:50.623 に答える