使用 JQuery Ajax in Laravel 5.4 将数据从控制器传递到视图
Pass data from controller to view using JQuery Ajax in 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;
您的 $result 字符串应该包含值,而不是变量。你不是运行通过你的模板引擎来处理绑定的结果字符串。
找到解决方案
我不得不改变这个:
$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
我有一个 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;
您的 $result 字符串应该包含值,而不是变量。你不是运行通过你的模板引擎来处理绑定的结果字符串。
找到解决方案
我不得不改变这个:
$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