LARAVEL 5.3使用AJAX更新表单

问题描述 投票:1回答:1

我坚持使用更新方法。

这是我的代码。

edit.blade.php:

 <input type="hidden" name="_token" value="{{ csrf_token() }}">

        <form method="POST" id="updateCategory">
            <input type="hidden" name="category_id" id="category_id" value="{{ $raw_material_category->id }}">

            <input type="hidden" name="user_id" value="{{ Auth::user()->id }}">
            <input type="hidden" name="_method" value="PUT">

            <div class="form-group">
                <label for="category_name">Category name:</label>
                <input type="text" name="category_name" class="form-control" id="category_name" value="{{ $raw_material_category->category_name }}">
            </div>

            <input type="submit" id="addCategory" class="btn btn-success pull-right">
        </form>

剧本:

<script>
    $("#updateCategory").on("submit", function (e) {
        e.preventDefault();

        $.ajaxSetup({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            }
        });


        $.ajax({
            type: "POST",
            url: "/categories/" + $("#category_id").val(),
            data: $(this).serialize(),
            success: function (data) {
                console.log(data);
                $('#errorDiv').css({"display": "none"});
            },
            error: function (xhr, ajaxOptions, thrownError) {
            }
        });
    });
</script>

控制者:

public function update(Request $request, $id) {
$raw_material_category = raw_material_category::findorfail($id);
$raw_material_category::update($request->all());}

这是我得到的错误:

ErrorException in categoriesController.php line 73: Non-static method Illuminate\Database\Eloquent\Model::update() should not be called statically
php ajax laravel laravel-5.3
1个回答
2
投票

$ raw_material_category是一个不是类名的变量

$raw_material_category::update($request->all());替换$raw_material_category->update($request->all());

© www.soinside.com 2019 - 2024. All rights reserved.