【问题标题】:Laravel update password errorsLaravel 更新密码错误
【发布时间】:2016-04-30 21:24:54
【问题描述】:

您好,我正在尝试使用 ajax 更新用户密码,但我不断收到 500 错误。我做错了什么 这是我的控制器

public function newPass(Request $request)
    {
        User::where('id','=', Auth::user()->id)->update(['password' => Hash::make($request->password)]);
        return response()->json(array('mess'=>'Update success'));
    }

这里是ajax

$(document).ready(function() {
    $('#btnNewPass').click(function(event) {
        event.preventDefault();
        var pass=$("#password").val();
        $.ajax({
            url: '/updatePass',
            type: 'POST',
            data: {pass: pass},
        })
        .success(function(data) {
         alert(data.mess);
     })
        .error(function() {
            alert("Error");
        });



    });
});

路线

Route::post('/updatePass','Auth\PasswordController@newPass');

【问题讨论】:

    标签: php jquery ajax laravel laravel-5


    【解决方案1】:

    我认为您在帖子中缺少所需的令牌,并且正在触发 TokenMismatchException。

    尝试将此元标记放在头部:

    <meta name="_token" content="{{ csrf_token() }}">
    

    然后在你的js文件中添加这个:

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

    【讨论】:

    • 嗨@subzeta我已经有{!!刀片视图中的 csrf_field() !!}
    • 您好!但据我所知,您没有在 ajax 调用中使用它。您需要在所有异步发布请求中提供它。您可以全局配置它(将其设置为我在回答中解释的标题)或在所有 ajax 调用中提供它(请参阅此处的最佳答案:stackoverflow.com/questions/32738763/…
    猜你喜欢
    • 1970-01-01
    • 2018-01-04
    • 2016-07-11
    • 2014-04-06
    • 2015-08-22
    • 2019-06-28
    • 1970-01-01
    • 2015-03-21
    相关资源
    最近更新 更多