使用Laravel 5.4中的JQuery Ajax将数据从控制器传递到视图

时间:2017-09-19 22:12:51

标签: javascript php jquery ajax laravel-5.4

我有一个laravel应用程序有一个模态我希望在数据库中执行搜索并在同一模态中显示信息而不重新加载页面(这会导致模态消失)。

为此,我使用jquery / ajax将数据传递给控制器​​并获得结果。

但是我没有从控制器返回正确的数据格式。或者我应该在jQuery / AJAX中改变一些东西。

我得到的结果是:

{{ $temoin->nnid }} {{ $temoin->nom }}  {{ $temoin->postnom }}  {{ $temoin->datenaissance }}

有什么建议吗?

代码:

路线

Route::post('/nouveau_ne', ['uses' => 'AdulteController@rechercheAdulte']);

jQuery / AJAX

$("#search_witness_btn").on('click', function() {
    var nnid_temoin = $('#nnid_temoin').val();
    if ($.trim(nnid_temoin) != '') {
        alert('ok '+nnid_temoin);
        $.post('/nouveau_ne',{nnid_temoin:nnid_temoin}, function(data) {
            $('#result_temoin').html(data);
        });
    } else {
        alert('ok '+nnid_temoin);
    }
});

控制器

$nnid_temoin = $request->input('nnid_temoin');

$temoin = t_adulte::join('t_individus', 't_adultes.nnid', '=', 't_individus.nnid')
    ->select(['t_individus.nnid','t_individus.nom','t_individus.postnom','t_adultes.datenaissance'])
    ->where('t_adultes.nnid','=',$nnid_temoin)
    ->get();

$result = '<td>{{ $temoin->nnid }}</td><td>{{ $temoin->nom }}</td><td>{{ $temoin->postnom }}</td><td>{{ $temoin->datenaissance }}</td>';
return $result;

2 个答案:

答案 0 :(得分:0)

您的$ result字符串应该包含值,而不是变量。您没有通过模板引擎运行生成的字符串来处理绑定。

答案 1 :(得分:0)

找到解决方案

我要改变这个:

$result = '<td>{{ $temoin->nnid }}</td><td>{{ $temoin->nom }}</td><td>{{ 
$temoin->postnom }}</td><td>{{ $temoin->datenaissance }}</td>';
return $result;

到此:

foreach ($temoin as $temoin) {

        $nnid=$temoin->nnid;
        $nom=$temoin->nom;
        $postnom=$temoin->postnom;
        $date=$temoin->datenaissance;

        return '<td class="nnidtemoin" id="nnidtemoin">'.$nnid.'</td><td>'.$nom.'</td><td>'.$postnom.'</td><td>'.$date.'</td>';
        # code...
    }
非常感谢@all