laravel ajax无法正常工作,看到失败

时间:2019-01-02 07:37:42

标签: laravel laravel-5


我想通过ajax从注册表中插入数据。
但我在控制台日志中看到ajax failed
我不明白是什么问题?
这是我的js:

$('#Personal_Information').on('submit', function(event){
        event.preventDefault();
        var form_data = $(this).serialize();
        $.ajax
        ({
            type: "POST",
            dataType : 'json',
            url: "{{url('all/update-profile')}}", 
            data: {csrf_token:"{{csrf_token()}}", data: form_data}
        }).done( function(data){
            console.log('Ajax was Successful!')
            console.log(data)
        }).fail(function(){
            console.log('Ajax Failed')
        });

这是我的路线:

Route::get('/update-profile', 'personalinformation@redirectupdatepage')->name('/all.update-profile');
Route::post('/all/update-profile', 'personalinformation@store');

我控制器的代码:

    public function store(Request $request)
{
    $modal = User::create($request->all());
    return $modal;
}

谢谢。

1 个答案:

答案 0 :(得分:1)

您的令牌字段名称必须为_token, 更新您的代码,此行。

 data: { _token:"{{csrf_token()}}", data: form_data},

最好的解决方案是添加元标记和标头。

<meta name="csrf-token" content="{{ csrf_token() }}" />
<script>

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

</script>

更新您的控制器。

public function store(Request $request)
{
    $modal = User::create($request->get('data'));
    return $modal;
}