2013-06-16 1 views
4

enter image description here웹 페이지의 일부분을 업데이트 하시겠습니까?

빠른 참조를 위해 내가 원하는 이미지를 첨부했습니다. 페이지를 새로 고치지 않고 전체 페이지를 업데이트하지 않고 업데이트 (내용 변경)하고 싶습니다. 화이트 박스의 링크 또는 버튼을 클릭하면 데이터베이스에서 데이터를 가져 와야하며 그 데이터가 빨간색 상자에 표시됩니다. 물론 대답으로 쓰는 첫 번째 일은 "Ajax !!!"입니다. 그러나 laravel framework을 처음 접했을 때 나는 이것을 달성하는 가장 좋은 방법을 알고 싶습니다. 바로보기에 javascript을 써야합니다. 또는 컨트롤러에서 어떻게 할 것인가? 더 자세한 정보가 필요하시면 알려주세요.

개정 문제, 그 사람은 당신이 AJAX 기능을 사용하여이 업데이트를 수행 할 jQuery를 사용하는 경우 당신을 위해 더 나은 것

+0

구현이있다 :

홈 뷰를 들어
Route::get('home', function() { return View::make('home'); }); Route::get('someRoute', function() { return View::make('someView'); }); 

, 나는 스크립트 섹션을 추가 할 것 POLL – Makky

답변

3

먼저 읽고 우리가 어떤 경로를 설정해야 할 수 있습니다 내부 간단한 코드는 AJAX 기능에 대한이

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

더 같이 할 수 있습니다. 컨트롤러로도이 작업을 수행 할 수 있습니다.

당신이 블레이드 템플릿을 사용하는 경우
//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> 

는, 여기 당신은 PrimeFaces Ajax를 사용할 수 있습니다

//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 
+0

답장을 보내 주셔서 감사합니다.하지만이 사실을 알고 있습니다. 제가 할 수있는 다른 좋은 방법이 있는지 알고 싶었습니다. –

+0

이것은 사용에 달려 있다고 생각합니다. 템플릿이 모듈 인 경우 다중 뷰의 스 니펫을 포함하므로 섹션을 재정의하거나 모든 자바 스크립트를 포함하는 뷰를 만들고 포함시킬 수 있습니다. 모듈성에 대해 걱정하지 않는다면 첫 번째 옵션이 더 좋습니다. 어느 쪽이든, 귀하의 자바 스크립트는 컨트롤러가 아닌보기에 있어야합니다. 다른 대안은 iframe을 사용하는 것이지만 권장하지 않습니다. – Blessing

관련 문제