Laravel Ajax文件上传无法接收数据

时间:2016-06-27 02:25:10

标签: php jquery ajax laravel laravel-5

我有一个ajax表单,它将一堆数据发送到我的控制器,但是当我添加

processData: false, // important
contentType: false, // important

对于我的ajax调用,Laravel在我的控制器中收到一个空数组:$data = Input::all();

如果你想看到它,请注意整个ajax电话:

    var ImagesData = new FormData();
    ImagesData.append('pictureFile', $('input').get(0).files[0]);

    $.ajax({
        type: 'POST',
        url: '/a/item/create',
        data: ImagesData,
        dataType: 'json',
        processData: false, // important
        contentType: false, // important
        success: function(data){
            console.log(data);
        }
    });

2 个答案:

答案 0 :(得分:1)

您应该使用Input::file($key)。请参阅文档的this部分。

$file = Input::file('pictureFile');

答案 1 :(得分:0)

如果您设置

processData: false, // important
contentType: false, // important

您需要使用javascript格式标准创建新表单。

var ImagesData = new FormData($('form')[0]);