TokenMismatchException ketika mencoba menggunakan unggahan media

Saya menggunakan Laravel 5.1 dan paket media-upload untuk upload gambar ajax.

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

Menggunakan kode berikut:

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

Saya mendapatkan 500 kesalahan server internal.

Sama persis dengan masalah ini:

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

Tapi saya tidak sepenuhnya memahami cara membuat milik saya berfungsi. Saya melakukan kode yang sama dengan jawaban yang ditambahkan. Saya masih mendapatkan kesalahan 500.

Bagaimana cara memperbaikinya?


person devs    schedule 27.08.2015    source sumber
comment
Bisakah Anda memposting seluruh formulir Anda?   -  person Ivanka Todorova    schedule 27.08.2015


Jawaban (2)


Seperti yang tertulis di tautan dari github, Anda harus meneruskan token. _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

Anda harus menambahkannya dengan cara ini jika Anda mengirimkan formulir melalui ajax

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