通过Laravel 4中db的ajax将数据加载到视图中

Ste*_*teB 1 jquery laravel laravel-4

到目前为止,我有一个用户视图,其中包含一个打印头输入框和一个按钮.

我可以设法获取所选用户的ID并在单击按钮时显示它:

$('#load').bind('click', function(e)
{
   alert(selected);
});
Run Code Online (Sandbox Code Playgroud)

现在,我想从数据库中检索所选用户的数据,并在"用户"视图中显示它.这是我的jQuery,路由和控制器:

var details = '<?php echo URL::to('details'); ?>';
$.getJSON(
    details, 
    function(data) 
    {
        $('#details').html(data);
    }
);

Route::get('details', 'HomeController@Details');

public function Details()
{
    $data = array('name' => 'Ste');
    return View::make('user')->nest('details', $data);
}
Run Code Online (Sandbox Code Playgroud)

我在Laravel中阅读过多篇关于AJAX的文章,但我并没有接近这个工作.
有没有人知道这样做的好教程还是我做了明显错误的事情?

Ste*_*teB 7

花了一些时间来弄清楚,但这就是我最终的结果.
这只是返回一些基于通过jQuery ajax传递给控制器​​方法的单个值(userid)的数据库查询构建的html.
例如:用户使用Bootstrap Typeahead选择用户,然后(通过ajax)从数据库中获取用户的详细信息然后显示.

AJAX:

var details = '<?php echo URL::to('details'); ?>';
$.ajax(
{
    url: details,
    type: 'GET',
    dataType: 'html',
    data: {id: selected}, 
}).done( 
    function(data) 
    {
        $('#details').html(data);
    }
);
Run Code Online (Sandbox Code Playgroud)

控制者:

public function Details()
{
    $id = Input::get('id');
    $user = DB::table('Users')->where('UserID', $id)->get();
    $data = array('user' => $user);

    return View::make('details', $data);
}
Run Code Online (Sandbox Code Playgroud)

风景:

@foreach($user as $person)
<label class="key">User ID</label>
<label class="data">{{ $person->UserID }}</label>

<label class="key">Person</label>
<label class="data">{{ $person->FullName, $person->Email, $person->WebSite }}</label>
@endforeach
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 我的所有观点都是刀片模板.
  • 我的详细信息视图无法继承自另一个模板(没有extends('master')),这会阻止视图工作(不知道为什么).
  • 我只会返回1条记录,我使用@foreach访问数组并将每个元素转换为一个对象(可能有更好的方法).