【问题标题】:Laravel Error - MethodNotAllowedHttpException No messageLaravel 错误 - MethodNotAllowedHttpException 无消息
【发布时间】:2018-02-21 16:28:48
【问题描述】:

当我尝试使用 Ajax 提交表单时,我收到此错误,MethodNotAllowedHttpException 无消息。 我猜问题出在路由上,但是当我在没有 Ajax 的情况下进行测试时,它工作正常 这是我的 Ajax 代码:

$.ajax({
            method: 'POST',
            url: "{{ route('submitProfile') }}",
            dataType: 'json',
            data: {_token: CSRF_TOKEN, firstName:firstName, lastName:lastName, email:email, mobile:mobile},
            success: function( data ) {
                console.log(data);
            }
        });

我的路线是:

Route::get('/edit/profile',[
    'uses' => 'UserController@getEditProfile',
    'as' => 'editProfile'
]);

Route::post('/ajax/edit/profile',[
    'uses' => 'UserController@postEditProfile',
    'as' => 'submitProfile'
]);

在我的控制器中我有这个功能:

public function postEditProfile(Request $request)
{
    $this->validate($request,[
        'firstName' => 'required',
        'lastName' => 'required',
        'email' => 'required|email',
        'mobile' => 'required',
    ]);

    $user = \Auth::user();
    $user->firstName = $request['firstName'];
    $user->lastName = $request['lastName'];
    $user->email = $request['email'];
    $user->mobile = $request['mobile'];
    $user->save();

    return response()->json([
        'status' => 'its done!'
    ]);
}

谢谢。

【问题讨论】:

  • 你没有从不带斜线的 url 到带斜线的 url 的重定向吗?这可能是此类问题的原因。

标签: ajax laravel


【解决方案1】:

你能在你的路线上试试这个吗

Route::post('/ajax/edit/profile',[
    'uses' => 'UserController@postEditProfile'
])->name('submitProfile');

【讨论】:

  • 谢谢,ajax 调用现在可以工作,但之后又出现了同样的错误
猜你喜欢
  • 1970-01-01
  • 2019-01-12
  • 2019-05-18
  • 1970-01-01
  • 2019-03-09
  • 1970-01-01
  • 2018-10-07
  • 2018-06-21
  • 2018-08-07
相关资源
最近更新 更多