Обновление с использованием AJAX возвращает ошибку, и при переходе непосредственно к маршруту отображается сообщение «MethodNotAllowedHttpException No message» - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь использовать ajax для обновления. Это всегда возвращает ошибку, и я не знаю, где искать. То, что я пытаюсь сделать, это обновить без перезагрузки страницы.

ВИД:

    <form id="view-int-form">
    @csrf
        <h1>ID Number:</h1>
        <input type="text" name="id_number" value="{{$var1->id_number}}">

        <h1>Name:</h1>
        <input type="text" name="name" value="{{$var1->name}}">

        <button type="button" id="clickme" value="Save">Save</button>
    </form>

AJAX:

    $(document).on("click", "#clickme", function(){
            $.ajax({
                url: '/updatename',
                type: 'POST',
                data: $("#view-int-form").serialize(), 
                success: function (data) {
                    alert("SAVED");
                },
                error: function (data) {
                    alert("ERROR");
                }
            });
        });

ROUTE:

    Route::post("/updatename","UsersController@UpdateName");

CONTROLLER:

    public function UpdateName(Request $request){
        $id = $request->input('id_number');

        $update_name = $request->input('name');

        users::where("id_number",$id)->update(['first_name'=>$update_name]);        
    }

Спасибо всем, кто может помочь.

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Ошибка с указанным вами URL.Всегда лучше указывать URL, как показано ниже,

url: '{{URL::to('updatename')}}',

Кроме того, вы можете назвать свой URL в web.php следующим образом:

Route::post("/updatename","UsersController@UpdateName")->name('update_name');

, а затем использовать его следующим образом: url :: '{{маршрут ( 'update_name')}}»,

0 голосов
/ 25 января 2019

Вам не хватает {{ csrf_field() }} в форме и method="POST" в теге формы.Попробуйте заменить @csrf с вашего взгляда на {{ csrf_field() }}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...