Laravel-5.4: обновить сообщение с помощью ajax - PullRequest
0 голосов
/ 20 ноября 2018

Сначала позвольте мне показать код, Вот мой модальный html

<div id="myModal" class="modal fade" role="dialog">
        <div class="modal-dialog">
            <!-- Modal content-->
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                    <h4 class="modal-title"></h4>
                </div>
                <div class="modal-body">
                    <form class="form-horizontal" role="form">
                        <div class="form-group">
                            <label class="control-label col-sm-2" for="city-id">City id:</label>
                            <div class="col-sm-10">
                                <input type="text" class="form-control" id="city-id" disabled>
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="control-label col-sm-2" for="city-name">City name:</label>
                            <div class="col-sm-10">
                                <input type="text" class="form-control" id="city-name">
                            </div>
                        </div>
                    </form>
                    <div class="deleteContent">
                        Are you Sure you want to delete <span class="dname"></span> ? <span
                                class="hidden did"></span>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn actionBtn" data-dismiss="modal">
                            <span id="footer_action_button" class='glyphicon'> </span>
                        </button>
                        <button type="button" class="btn btn-warning" data-dismiss="modal">
                            <span class='glyphicon glyphicon-remove'></span> Close
                        </button>
                    </div>
                </div>
            </div>
        </div>
    </div>

Мой контроллер обновлений

public function update( Request $request, City $data ) {
        $input = $request->all();
        $data->fill( $input )->save();

        return response()->json( $data );
    }

, и я пытаюсь обновить записи, вот что я сделалв ajax

$('.modal-footer').on('click', '.edit', function () {
            $.ajax({
                url: $("#city-id").val(),
                method: 'PATCH',
                data: {
                    '_token': $('input[name=_token]').val(),
                    'id': $("#city-id").val(),
                    'name': $('#city-name').val()
                },

                success: function (data) {
                    $('.item' + data.id).replaceWith("<tr class='item" + data.id + "'><td>" + data.id + "</td><td>" + data.name + "</td><td><button class='edit-modal btn btn-info' data-id='" + data.id + "' data-name='" + data.name + "'><span class='glyphicon glyphicon-edit'></span> Edit</button> <button class='delete-modal btn btn-danger' data-id='" + data.id + "' data-name='" + data.name + "' ><span class='glyphicon glyphicon-trash'></span> Delete</button></td></tr>");
                }
            });
        });

в консоли я вижу Request URL: http://localhost:8000/admin/cities/12 и Request method: PUT, и я пытаюсь PATCH также и Status code: 200

, но он добавляет новые записивместо обновления записи.

Я хотел сделать Ajax таким образом, но тоже не работал

$(document).on('click', '.edit', function () {
            $.ajax({
                url: {{ cities.update }},
                type: 'PUT', //OR PUTCH
                data: $('#myModal').serialize(),
                success: function (result) {
                    console.log('success');
                },
                error: function (data) {
                    // you'd want to show your validation errors if there are any, as well
                    console.log(data);
                }
            });
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...