2

L4 と Angular でアプリを構築しようとしています。私はルートに少し苦労しています。html5Mode(true) を使用して、見栄えの良い URL を取得しています。リロードしない限り、すべて正常に動作します。

以外の URL のページをリロードすると/、L4 が引き継ぎ、適切なページに移動しようとします。私はそれをしたくありません。angularが引き継ぐことができるホームページにすべてのページをルーティングしたいと思います。

これを使用して、すべてのトラフィックをホームにリダイレクトする方法を見つけました。

Route::get('{all}', function($uri){

    return View::make('home');

})->where('all', '.*');

唯一の問題は、angular でリクエストを実行しようとすると、必要なリソースではなく、ホームページの HTML が返されることです。

この問題をどのように解決できるか考えていますか?

ありがとう

4

3 に答える 3

0

I was battling this for a few hours as well and came up with a solution. In my project i am using angular to control the actual view switching. so what i did was to define two separate route groups in L4, one that returns actual pages directly from laravel's routing system and another that returns HTML fragments for angulars routing system.

Here is an example of my routing

//Laravel pages and API routes
Route::get('/', function()
{
    return View::make('hello');
});

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

//Angular SPA routes(HTML fragments for angulars routing system)
Route::get('/getstarted', function(){
    return View::make('getStarted');
});

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

So in this scenario, laravel sends your home page when you call "/", and the ng-view asks for "/getstarted" by ajax which returns your html fragment. Hope this helps :)

于 2013-10-13T06:39:32.693 に答える