【发布时间】:2022-01-17 18:17:16
【问题描述】:
我想在使用服务器端模式的数据库表中插入一些记录。我使用的是 laravel 8,php 版本 8.0.13,数据库 mysql。
这是我的路线
use App\Http\Controllers\JabatanController;
Route::resource('jabatan', JabatanController::class, [
'names' => [
'index' => 'jabatan.list',
'store' => 'jabatan.store',
]]);
//dd($request->all());
我的看法
<button type="button" id="tambah-jabatan" class="btn btn-primary float-right" data-toggle="modal" data-target="#modal_tambah">
Tambah Jabatan
</button>
<!-- Modal -->
<div class="modal fade" id="modal_tambah" tabindex="-1" role="dialog" aria-labelledby="modalTambahLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="modalTambahLabel">Tambah Data Jabatan</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<!-- mb -->
<div class=" mb-3">
<label for="jabatan">Jabatan</label>
<input type="text" name="jabatan" class="form-control" id="jabatan" placeholder="Masukkan Jabatan disini" value="" required>
</div>
<!-- /mb -->
</div>
<div class="modal-footer">
<button type="button" id="close" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" id="save-jabatan" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
我的控制器
public function store(StoreJabatanRequest $request)
{
$data = Jabatan::updateOrCreate([
'jabatan' => $request->jabatan,
]);
return response()->json($data);
}
我的模特
class Jabatan extends Model
{
use HasFactory;
protected $table = "jabatans";
protected $fillable = [
'jabatan'
];
}
我的主视图中有一些 ajax 脚本
<script>
$('#save-jabatan').on('click', function() {
$.ajax({
url: "{{route('jabatan.store')}}",
type: "post",
data: {
jabatan: $('#jabatan').val(),
"_token": "{{csrf_token()}}"
},
success: function(res) {
console.log(res.data);
alert(res.text)
$('#close').click()
$('#tb_jabatan').DataTable().ajax.reload()
},
error: function(xhr) {
alert(xhr.responseJSON.text)
}
})
})
</script>
当我检查检查时我得到了这个错误
POST http://localhost:8000/jabatan 403(禁止)
有什么建议吗?
【问题讨论】:
标签: ajax laravel-8 server-side