带有Ajax的控制器echo tabel



如何使用Ajax请求回显控制器中的所有记录?当我更改代码时,我只得到一个名字。所以我做了一个查询数组。不幸的是,谷歌的所有答案都无济于事。

我的下一步也是呼应naam的分数->我怎样才能呼应naam并在队伍中得分?

谢谢你的帮助。

控制器代码:

public function score(Request $request)
{
$scores = DB::table('scores')->where('gameround_id', $gameround_id)->value('naam');
$data = array();
foreach ($scores as $score) {
$data[] = $score->naam;
}
return response()->json(['data'=> $data]); 
}

Ajax代码:

setInterval(function(){ 
var gameround_id = '12';
let _token   = $('meta[name="csrf-token"]').attr('content');
$.ajax({
type:'GET',
url:"/ajaxRequestscore",
data:{_token: _token, gameround_id: gameround_id},
success:function(data){
var html = '';
data['data'].forEach(function(naam) {
html += '<div>' + naam + '</div>'
});
$('#results').html(html);
}
});

}, 1000);

首先获取数据并以json形式返回:控制器:

public function score(Request $request)
{
$data['scores'] = DB::table('scores')->where('gameround_id', $request->gameround_id)->get();

return response()->json($data); 
}

视图:使用JS和ajax发送请求,然后检索数据并将其附加到视图中。

<div id="scores"> </div>          

<script>                 
function mainTable() {
var gameroundID = '12';
$.ajax({
url: "{{url('/api/fetch-scores')}}",
type: "POST",
data: {
gameround_id: gameroundID,
_token: '{{csrf_token()}}'
},
dataType: 'json',                 
success: function (result) {
$.each(result.scores, function (key, value) {
$("#scores").append('<p> Naam: ' + value.naam + '</p><p>Score: ' + value.score + '</p>'); 
});
}
});
}            
</script>

每5000毫秒更新一次结果:

<script>
setInterval(function(){
$("#scores").html('');
mainTable();
}, 5000);
</script>

路由(web.php(:

use AppHttpControllersNaamController;
Route::post('api/fetch-scores', [NaamController::class, 'score']);

最新更新