首页 > 解决方案 > 使用 AJAX 更新返回错误并直接进入路由显示“MethodNotAllowedHttpException No message”

问题描述

我正在尝试使用 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>

阿贾克斯:

    $(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::post("/updatename","UsersController@UpdateName");

控制器:

    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]);        
    }

感谢任何可以提供帮助的人。

标签: javascriptphpajaxlaravelforms

解决方案


这是您提供的 URL 的错误。提供如下网址总是更好,

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

此外,您可以像这样在 web.php 中命名您的网址,

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

然后像这样使用, url:: '{{route('update_name')}}',


推荐阅读