我正在通过AJAX GET调用从数据库中检索数据,获得了完全成功的响应我通过将html模板附加到我的表中来打印数据,我可以正确地返回结果(以JSON格式),但是将它们附加到表格它们都显示为未定义:
这是我的控制器方法:
public function index()
{
$reviews = Review::all();
return response()->json([
'success' => 'Todas las opiniones recogidas',
'reviews' => $reviews,
]);
}
这是我在JQuery代码中附加结果的地方,我可以肯定这里有错误:
$.ajax({
async: true,
url: '/reviews',
type: 'GET',
dataType: 'JSON',
success: function (data) {
$('.row[data-link=' + linked_entry + ']').remove();
$.each(data, function (index, item) {
var reviews_row = '<tr class="row" data-link="reviews">';
reviews_row += '<td>' + data.body + '</td>';
reviews_row += '<td>' + data.author + '</td>';
reviews_row += '<td>' + data.site + '</td>';
reviews_row += '<td style="text-align:center;"><input type="checkbox" name="isVisible" '+(data.isVisible ? 'checked' : '')+'></td>';
reviews_row += '</tr>';
$('.entry_table_container[data-link=' + linked_entry + ']').append(reviews_row);
});
},
error: function (data){
var errors = data.responseJSON;
console.log(errors);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 0 :(得分:0)
更改此:
$.each(data, function (index, item) {
对此:
$.each(data.reviews, function (index, item) {
然后:
您提到的item.body,item.author等作为其他贡献者之一