4

ここに画像の説明を入力

簡単な参照のために、私が欲しいものの画像を添付しました。ページ全体を更新せずに (ページを更新せずに) 更新 (コンテンツの変更) したい。ホワイトボックスのリンクまたはボタンをクリックすると、データベースからデータが取得され、レッドボックスに表示されます。もちろん、答えとして最初に書くのは「Ajax !!!」ですが、私は初めてなのでlaravel framework、これを達成するための最良の方法を知りたいですjavascript。コントローラー、およびコントローラーを介してそれを行う方法は? さらに情報が必要な場合は、お知らせください。

改訂された質問、回答されたもの以外に他のより良い方法はありますか

4

2 に答える 2

3

まず、いくつかのルートを設定する必要があります。これは、コントローラーを使用して行うこともできます。

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

Route::get('someRoute', function()
{
    return View::make('someView');
});

ホーム ビューの場合は、スクリプト セクションを追加します。

//home.php

<html>
<head>
    <script>
    $('a.ajax').click(function(e){
        e.preventDefault();
        var pageURL = $(this).attr('href');
        $('#ajaxContent').load(pageURL);
    });
    </script>
</head>
<body>
    <div class="wrapper">
        <a href="{{URL::to('someRoute')}}" class="ajax">Click Here</a>
        <div id="ajaxContent"></div>
    </div>
</body>
</html>

ブレード テンプレートを使用している場合の実装は次のとおりです。

//main.blade.php

<html>
<head>
    @yield('styles')
</head>
<body>
    <div class="wrapper">
        @yield('content')
    </div>
    @section('scripts')
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
    @show
</body>
</html>

//home.blade.php
@extends('main')

@section('content')
    <a href="<?=URL::to('someRoute')?>" class="ajax">Click Here</a>
        <div id="ajaxContent"></div>
@stop

@section('scripts')
    @parent
    $('a.ajax').click(function(e){
    e.preventDefault();
    var pageURL = $(this).attr('href');
    $('#ajaxContent').load(pageURL);
    });
@stop
于 2013-06-16T20:03:44.747 に答える
0

jQueryajax 機能を使用してこの更新を行う場合は、より良いでしょう。簡単なコードは次のようになります

$('a.ajax').click(function(e){
     e.preventDefault();
     var pageURL = $(this).attr('href');
     $('#divID-to-be-updated').load(pageURL);
});

jQuery 内の ajax 機能の詳細については、http://jqapi.com/#p=loadを参照してください。

于 2013-06-16T17:58:44.237 に答える