我使用以下INF脚本从ajax请求中获得多个ID:
<script>
$(document).ready(function () {
$('#numero_projet').change(function(){
var id_projet = $(this).find("option:selected").data("id");
$('#generer').click(function(){
var checkValues = [];
$.each($("input[name='casting_checked[]']:checked"), function() {
checkValues.push($(this).data('id'));
});
var selectedvalues = checkValues;
console.log(selectedvalues);
$.ajax({
url: "/generer/"+selectedvalues+"/"+id_projet,
type: 'get',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: 'selectedvalues=' + selectedvalues,id_projet:id_projet,
success: function(response) {
var selectedvalues = checkValues;
window.location.href = 'generer/' + selectedvalues+'/'+id_projet;
}
});
});
});
});
</script>
这个 console.log(selectedvalues);
给予: (3) [15, 17, 19]
在我的控制器中,我有:
public function generer(Request $request){
$projets_casting = Projet_Casting::whereIn('id_casting',explode(",", $request->selectedvalues))->where('id_projet',$request->id_projet)->get();
$callback = function() use($projets_casting) {
foreach ($projets_casting as $projet_casting) {
$id_contrat = $projet_casting->id_contrat;
dd($id_contrat);
}
};
return Response::stream($callback, 200);
}
问题在于 projets_casting
根据ajax请求接收到的ID返回多行,以便 dd($id_contrat)
还应返回多个值,每行的值由 projets_casting
. 而在本例中,使用这段代码,我只得到一行的值,而不是所有行的值 projets_casting
.
如果你有任何想法,请帮忙
暂无答案!
目前还没有任何答案,快来回答吧!