TokenMismatchException при попытке использовать медиа-загрузку

Я использую Laravel 5.1 и пакет media-upload для загрузки изображений ajax.

https://github.com/triasrahman/laravel-media-upload

Используя следующий код:

<input type="file" name="file">
<img clas="preview" src="">

$('input[name=file]').change(function()
{   
    // AJAX Request
    $.post( 'media-upload', {file: $(this).val()} )
        .done(function( data )
        {
            if(data.error)
            {
                // Log the error
                console.log(error);
            }
            else
            {
                // Change the image attribute
                $( 'img.preview' ).attr( 'src', data.path );
            }
        });
});

Я получаю внутреннюю ошибку сервера 500.

Точно соответствует этой проблеме:

https://github.com/triasrahman/laravel-media-upload/issues/1

Но я не совсем понимаю, как заставить мою работать. Я сделал тот же код, что и добавленный ответ. Я все еще получаю ошибку 500.

Как я могу это исправить?


person devs    schedule 27.08.2015    source источник
comment
Можешь выложить всю форму?   -  person Ivanka Todorova    schedule 27.08.2015


Ответы (2)


Как в ссылке с github написано, вы должны передать токен. _token : $("[name='_token']").val()

<input type="file" name="file">
<img clas="preview" src="">

$('input[name=file]').change(function()
{   
    // AJAX Request
    $.post( 'media-upload', {file: $(this).val(), _token : $("[name='_token']").val()} )
        .done(function( data )
        {
            if(data.error)
            {
                // Log the error
                console.log(error);
            }
            else
            {
                // Change the image attribute
                $( 'img.preview' ).attr( 'src', data.path );
            }
        });
});
person Ivanka Todorova    schedule 27.08.2015

вы должны добавить его таким образом, если вы отправляете форму через ajax

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