调用AJAX之后,我获得了JSON格式的AJAX数据。现在,我想将该数据发送到laravel的相同刀片文件中的foreach循环中。
*这是一个带有laravel控制器以json格式返回的数据的ajax *
<script>
$(document).ready(function(){
$('.category').click(function(){
var id= "";
id= $(this).val();
console.log(id);
$.ajax({
url:"browse-events",
method: "GET",
data:{id:id},
success:function(reponseData){
console.log(responseData);
},
error:function(){
console.log('Error in receiving data');
}
});
});
});
</script>
*这是php中的foreach循环,必须循环返回ajax的返回数据*
@foreach ($responseData as $data)
<div class="col-md-4 col-sm-6">
<h6>{{$data->name}}</h6>
<p >{{$data->data_id}} </p>
</div>
@endforeach
在Ajax调用中,此处 reponseData 返回了Json格式的数据。现在,我需要将数据发送到laravel的相同blade.php文件中的php的foreach循环。我该怎么办?
答案 0 :(得分:1)
不可能将ajax / json数据发送到刀刃foreach循环。 呈现页面时,Blade处理基于php的数组,而页面已经加载时,ajax则加载数据。
The solution here would be to place the data with a javascript for loop:
$(document).ready(function(){
$('.category').click(function(){
var id= "";
id= $(this).val();
console.log(id);
$.ajax({
url:"browse-events",
method: "GET",
data:{id:id},
success:function(reponseData){
let parentObject = $('#parentObject'); //The object where all divs are in
responseData.forEach((data) => {
parentObject.append('
<div class="col-md-4 col-sm-6">
<h6>'+ data.name +'</h6>
<p>'+ data.data_id +' </p>
</div>
');
})
},
error:function(){
console.log('Error in receiving data');
}
});
});
});
答案 1 :(得分:1)
你不能。
您可以做什么:
id
重新加载页面并相应地呈现页面