【发布时间】:2021-07-05 23:04:21
【问题描述】:
我是 Laravel 的新手,我正在尝试在添加新类别时添加视图。我总是收到错误:
未定义变量:类别(查看:..new.blade.php)...第 1 行
这是我目前所拥有的:
CategoryController.php
public function store(Request $request)
{
$request->validate([
'name' => 'required'
]);
$category = new Category();
$category->name = $request->name;
$category->save();
$returnHTML = view('categories.new', compact($category))->render();
return response()->json(array(
'success' => true,
'html' => $returnHTML,
'icon' => 'success',
'title' => 'Added',
'msg' => 'Category successfully added.'
));
}
script.blade.php
$('#category-submit').click( function() {
var name = $('#name').val();
let _url = '/categories';
let _token = $('meta[name="csrf-token"]').attr('content');
$.ajax({
url: _url,
type: 'POST',
data: {
name: name,
_token: _token
},
success: function(data) {
$('tbody').prepend(data.html);
$('#name').val('');
$('#category-modal').modal('hide');
Swal.fire({
title: data.title,
text: data.msg,
icon: data.icon,
showConfirmButton: false,
timer: 1500
});
},
error: function(xhr) {
console.log(xhr.responseText);
}
});
});
new.blade.php
<tr id="category-{{ $category->id }}">
<td>{{ $category->name }}</td>
<td>
<button class="btn btn-inverse-primary btn-icon-text">
<i class="ti-pencil btn-icon-prepend"></i> Edit
</button>
<button data-id="{{ $category->id }}" class="category-delete btn btn-inverse-danger btn-icon-text">
<i class="ti-trash btn-icon-prepend"></i> Delete
</button>
</td>
</tr>
老实说,我不知道自己做错了什么。似乎来自控制器的$category 不会传递给new.blade.php。任何帮助将不胜感激。
【问题讨论】:
-
尝试使用
$returnHTML = view('categories.new', compact('category'))->render();